# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
### BEGIN LICENSE
# This file is in the public domain
### END LICENSE
from locale import gettext as _
from gi.repository import Gtk, Gdk, Gio, GObject, Pango # pylint: disable=E0611
import logging
import sys
import os
logger = logging.getLogger('college')
from college_lib import Window
from college.AboutCollegeDialog import AboutCollegeDialog
from college.PreferencesCollegeDialog import PreferencesCollegeDialog
# See college_lib.Window.py for more details about how this class works
class CollegeWindow(Window):
__gtype_name__ = "CollegeWindow"
def finish_initializing(self, builder): # pylint: disable=E1002
"""Set up the main window"""
super(CollegeWindow, self).finish_initializing(builder)
############################################################removedev
self.AboutDialog = AboutCollegeDialog
self.PreferencesDialog = PreferencesCollegeDialog
self.editdesign = self.builder.get_object("editdesign")
self.editedit = self.builder.get_object("editedit")
############################################################removedev
self.toolbar = self.builder.get_object("toolbar")
self.notelist = self.builder.get_object("notelist")
self.textview = self.builder.get_object("textview")
self.textbuffer = self.textview.get_buffer()
self.saver = self.builder.get_object("saver")
self.opener = self.builder.get_object("opener")
self.switch = self.builder.get_object("switch")
self.switch2 = self.builder.get_object("switch2")
self.switch.set_active(False)
self.switch2.set_active(False)
self.switch.connect('notify::active', self.switcher)
self.switch2.connect('notify::active', self.switcher2)
self.mainpanel = self.builder.get_object("mainpanel")
self.scrolledwindow = self.builder.get_object("scrolledwindow")
self.sidebar = self.builder.get_object("sidebarholder")
self.sidebar.hide()
self.bolder = self.builder.get_object("bolder")
self.italicer = self.builder.get_object("italicer")
self.underliner = self.builder.get_object("underliner")
#Auto Open
file = open("note.txt", "r")
text = file.read()
file.close()
self.textbuffer.set_text(text)
#Style tags for text
self.bold = self.textbuffer.create_tag("bold", weight=Pango.Weight.BOLD)
self.italic = self.textbuffer.create_tag("italic", style=Pango.Style.ITALIC)
self.underline = self.textbuffer.create_tag("underline", underline=Pango.Underline.SINGLE)
# Code for other initialization actions should be added here.
#Ubuntu style toolbar
context = self.toolbar.get_style_context()
context.add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR)
############################################################rmdev
def on_editdesign_activate(self, widget):
os.system("~/.college/./collegedesign")
def on_editedit_activate(self, widget):
os.system("~/.college/./collegeedit")
############################################################rmdev
def switcher(self, button, active):
if button.get_active():
self.mainpanel.set_position(-1)
else:
self.mainpanel.set_position(9999)
def switcher2(self, button, active):
if button.get_active():
self.sidebar.show()
else:
self.sidebar.hide()
#Styling Functions, Formatting.
def on_bolder_toggled(self, widget):
if self.bolder.get_active():
print "Bold activated"
if len(self.textbuffer.get_selection_bounds()) !=0:
start, end = self.textbuffer.get_selection_bounds()
self.textbuffer.apply_tag(self.bold, start, end)
elif len(self.textbuffer.get_bounds()) !=0:
start, end = self.textbuffer.get_bounds()
self.textbuffer.apply_tag(self.bold, start, end)
else:
print "Bold deactivated"
if len(self.textbuffer.get_selection_bounds()) !=0:
start, end = self.textbuffer.get_selection_bounds()
self.textbuffer.remove_tag(self.bold, start, end)
elif len(self.textbuffer.get_bounds()) !=0:
start, end = self.textbuffer.get_bounds()
self.textbuffer.remove_tag(self.bold, start, end)
def on_italicer_toggled(self, widget):
if self.italicer.get_active():
print "Italic activated"
if len(self.textbuffer.get_selection_bounds()) !=0:
start, end = self.textbuffer.get_selection_bounds()
self.textbuffer.apply_tag(self.italic, start, end)
elif len(self.textbuffer.get_bounds()) !=0:
start, end = self.textbuffer.get_bounds()
self.textbuffer.apply_tag(self.italic, start, end)
else:
print "Italic deactivated"
if len(self.textbuffer.get_selection_bounds()) !=0:
start, end = self.textbuffer.get_selection_bounds()
self.textbuffer.remove_tag(self.italic, start, end)
elif len(self.textbuffer.get_bounds()) !=0:
start, end = self.textbuffer.get_bounds()
self.textbuffer.remove_tag(self.italic, start, end)
def on_underliner_toggled(self, widget):
if self.underliner.get_active():
print "Underline activated"
if len(self.textbuffer.get_selection_bounds()) !=0:
start, end = self.textbuffer.get_selection_bounds()
self.textbuffer.apply_tag(self.underline, start, end)
elif len(self.textbuffer.get_bounds()) !=0:
start, end = self.textbuffer.get_bounds()
self.textbuffer.apply_tag(self.underline, start, end)
else:
print "Underline deactivated"
if len(self.textbuffer.get_selection_bounds()) !=0:
start, end = self.textbuffer.get_selection_bounds()
self.textbuffer.remove_tag(self.underline, start, end)
elif len(self.textbuffer.get_bounds()) !=0:
start, end = self.textbuffer.get_bounds()
self.textbuffer.remove_tag(self.underline, start, end)
def on_saver_clicked(self, widget):
print "Saved"
start, end = self.textbuffer.get_bounds()
text = self.textbuffer.get_text(start, end, False)
file = open("note.txt", "w")
file.write(text)
file.close()
def on_mnu_save_activate(self, widget):
print "Saved"
start, end = self.textbuffer.get_bounds()
text = self.textbuffer.get_text(start, end, False)
file = open("note.txt", "w")
file.write(text)
file.close()
def on_opener_clicked(self, widget):
print "Loaded"
file = open("note.txt", "r")
text = file.read()
file.close()
self.textbuffer.set_text(text)
def on_mnu_open_activate(self, widget):
print "Loaded"
file = open("note.txt", "r")
text = file.read()
file.close()
self.textbuffer.set_text(text)
def on_college_window_destroy(self, widget):
start, end = self.textbuffer.get_bounds()
text = self.textbuffer.get_text(start, end, False)
file = open("note.txt", "w")
file.write(text)
file.close()
print "Saved your data before exiting"
print "BYE!"