~parthpanchl/gtg/workspace2

« back to all changes in this revision

Viewing changes to GTG/gtk/preferences.py

  • Committer: Parin Porecha
  • Date: 2014-01-31 06:59:35 UTC
  • mfrom: (1240.2.94 port-to-gtk3-py3)
  • Revision ID: parinporecha@gmail.com-20140131065935-ub6evnrwpmmm25hz
Merged the gtk3 and python3 port with GTG trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
import os
23
23
import shutil
24
 
import gtk
 
24
 
 
25
from gi.repository import Gtk
 
26
from xdg.BaseDirectory import xdg_config_home
 
27
 
25
28
import GTG.tools.shortcut as shortcut
26
 
 
27
 
from xdg.BaseDirectory import xdg_config_home
28
29
from GTG import _
29
30
from GTG import info
30
31
from GTG.gtk import ViewConfig
31
32
 
32
 
 
33
33
AUTOSTART_DIRECTORY = os.path.join(xdg_config_home, "autostart")
34
34
AUTOSTART_FILE = "gtg.desktop"
35
35
AUTOSTART_PATH = os.path.join(AUTOSTART_DIRECTORY, AUTOSTART_FILE)
79
79
    def __init__(self, req):
80
80
        self.req = req
81
81
        self.config = self.req.get_config('browser')
82
 
        builder = gtk.Builder()
83
 
        builder.add_from_file(ViewConfig.PREFERENCES_GLADE_FILE)
 
82
        builder = Gtk.Builder()
 
83
        builder.add_from_file(ViewConfig.PREFERENCES_UI_FILE)
84
84
 
85
85
        self.dialog = builder.get_object("PreferencesDialog")
86
86
        self.dialog.set_title(_("Preferences - %s" % info.NAME))
95
95
        self.fontbutton = builder.get_object("fontbutton")
96
96
        editor_font = self.config.get("font_name")
97
97
        if editor_font == "":
98
 
            style = self.dialog.get_style()
99
 
            editor_font = str(style.font_desc)
 
98
            font = self.dialog.get_style_context().get_font(
 
99
                Gtk.StateFlags.NORMAL)
 
100
            editor_font = font.to_string()
100
101
        self.fontbutton.set_font_name(editor_font)
101
102
 
102
103
        builder.connect_signals({
189
190
        self.new_task_default_binding = "<Primary>F12"
190
191
        self.gsettings_install_label_shown = False
191
192
 
192
 
        self.liststore = gtk.ListStore(str, str)
 
193
        self.liststore = Gtk.ListStore(str, str)
193
194
        self.liststore.append(["", ""])
194
 
        treeview = gtk.TreeView(self.liststore)
195
 
        column_accel = gtk.TreeViewColumn()
 
195
        treeview = Gtk.TreeView(self.liststore)
 
196
        column_accel = Gtk.TreeViewColumn()
196
197
        treeview.append_column(column_accel)
197
198
        treeview.set_headers_visible(False)
198
199
 
199
 
        cell = gtk.CellRendererAccel()
 
200
        cell = Gtk.CellRendererAccel()
200
201
        cell.set_alignment(0.0, 1.0)
201
202
        cell.set_fixed_size(-1, 18)
202
 
        cell.set_property("accel-mode", gtk.CELL_RENDERER_ACCEL_MODE_OTHER)
 
203
        cell.set_property("accel-mode", Gtk.CellRendererAccelMode.OTHER)
203
204
        cell.connect("accel-edited", self._cellAccelEdit, self.liststore)
204
205
        cell.connect("accel-cleared", self._accel_cleared, self.liststore)
205
206
        self.cell = cell
237
238
        else:
238
239
            # There exists a shortcut
239
240
            self.button.set_active(True)
240
 
        (accel_key, accel_mods) = gtk.accelerator_parse(self.new_task_binding)
241
 
        self.show_input = gtk.accelerator_get_label(accel_key, accel_mods)
 
241
        (accel_key, accel_mods) = Gtk.accelerator_parse(self.new_task_binding)
 
242
        self.show_input = Gtk.accelerator_get_label(accel_key, accel_mods)
242
243
        self.liststore.set_value(iter1, 1, self.show_input)
243
244
 
244
245
    def on_shortcut_toggled(self, widget):
254
255
 
255
256
    def _cellAccelEdit(self, cell, path, accel_key, accel_mods, code, model):
256
257
        """ Accelerator is modified """
257
 
        self.show_input = gtk.accelerator_get_label(accel_key, accel_mods)
258
 
        self.new_task_binding = gtk.accelerator_name(accel_key, accel_mods)
 
258
        self.show_input = Gtk.accelerator_get_label(accel_key, accel_mods)
 
259
        self.new_task_binding = Gtk.accelerator_name(accel_key, accel_mods)
259
260
        if shortcut.check_invalidity(self.new_task_binding, accel_key,
260
261
                                     accel_mods):
261
262
            self._show_warning(self.show_input)
273
274
 
274
275
    def _show_gsettings_install_label(self):
275
276
        vbox = self.builder.get_object("prefs-vbox7")
276
 
        label = gtk.Label()
 
277
        label = Gtk.Label()
277
278
        label.set_markup(_("<small>Please install <i><b>gsettings</b></i> "
278
279
                           "to enable New task shortcut</small>"))
279
280
        vbox.add(label)
281
282
    def _show_warning(self, input_str):
282
283
        """ Show warning when user enters inappropriate accelerator """
283
284
        show = _("The shortcut \"%s\" cannot be used because "
284
 
               "it will become impossible to type using this key.\n"
285
 
               "Please try with a key such as "
286
 
               "Control, Alt or Shift at the same time.") % input_str
287
 
        dialog = gtk.MessageDialog(self.dialog, gtk.DIALOG_DESTROY_WITH_PARENT,
288
 
                                   gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, show)
 
285
                 "it will become impossible to type using this key.\n"
 
286
                 "Please try with a key such as "
 
287
                 "Control, Alt or Shift at the same time.") % input_str
 
288
        dialog = Gtk.MessageDialog(self.dialog,
 
289
                                   Gtk.DialogFlags.DESTROY_WITH_PARENT,
 
290
                                   Gtk.MessageType.WARNING,
 
291
                                   Gtk.ButtonsType.OK,
 
292
                                   show)
289
293
        dialog.run()
290
294
        dialog.hide()