+ def _toggle_rotate(self):
+ if self.__isPortrait:
+ self.set_orientation(gtk.ORIENTATION_HORIZONTAL)
+ else:
+ self.set_orientation(gtk.ORIENTATION_VERTICAL)
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_key_press(self, widget, event, *args):
+ """
+ @note Hildon specific
+ """
+ RETURN_TYPES = (gtk.keysyms.Return, gtk.keysyms.ISO_Enter, gtk.keysyms.KP_Enter)
+ if (
+ event.keyval == gtk.keysyms.F6 or
+ event.keyval in RETURN_TYPES and event.get_state() & gtk.gdk.CONTROL_MASK
+ ):
+ if self._isFullScreen:
+ self._mainWindow.unfullscreen()
+ else:
+ self._mainWindow.fullscreen()
+ elif event.keyval == gtk.keysyms.f and event.get_state() & gtk.gdk.CONTROL_MASK:
+ if not hildonize.GTK_MENU_USED:
+ self._toggle_find()
+ elif event.keyval == gtk.keysyms.p and event.get_state() & gtk.gdk.CONTROL_MASK:
+ self._find_previous()
+ elif event.keyval == gtk.keysyms.n and event.get_state() & gtk.gdk.CONTROL_MASK:
+ self._find_next()
+ elif event.keyval == gtk.keysyms.o and event.get_state() & gtk.gdk.CONTROL_MASK:
+ self._toggle_rotate()
+ elif (
+ event.keyval in (gtk.keysyms.w, gtk.keysyms.q) and
+ event.get_state() & gtk.gdk.CONTROL_MASK
+ ):
+ self._mainWindow.destroy()
+ elif event.keyval == gtk.keysyms.l and event.get_state() & gtk.gdk.CONTROL_MASK:
+ with open(constants._user_logpath_, "r") as f:
+ logLines = f.xreadlines()
+ log = "".join(logLines)
+ self._clipboard.set_text(str(log))
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_toggle_search(self, *args):
+ self._toggle_find()
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_browse_key_press(self, widget, event, *args):
+ if event.keyval == gtk.keysyms.uparrow or event.keyval == gtk.keysyms.Up:
+ index, column = self._unitsView.get_cursor()
+ newIndex = max(index[0]-1, 0)
+ path = (newIndex, )
+ self._unitsView.set_cursor(path, column, True)
+ self._unitsView.scroll_to_cell(path, column, False, 0, 0)
+ return True # override default behavior
+ elif event.keyval == gtk.keysyms.downarrow or event.keyval == gtk.keysyms.Down:
+ index, column = self._unitsView.get_cursor()
+ newIndex = min(index[0]+1, len(self._unitModel)-1)
+ path = (newIndex, )
+ self._unitsView.set_cursor(path, column, True)
+ self._unitsView.scroll_to_cell(path, column, False, 0, 0)
+ return True # override default behavior
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_window_state_change(self, widget, event, *args):
+ """
+ @note Hildon specific
+ """
+ if event.new_window_state & gtk.gdk.WINDOW_STATE_FULLSCREEN:
+ self._isFullScreen = True
+ else:
+ self._isFullScreen = False
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_findEntry_changed(self, *args):
+ """
+ Clear out find results since the user wants to look for something new
+ """
+ self._clear_find()
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_find_activate(self, *args):
+ self._find_next()
+ self._findButton.grab_focus()
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_click_menu_filter(self, button, col):
+ self._select_sort_column(col)
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_click_unit_column(self, col):
+ """
+ Sort the contents of the col when the user clicks on the title.
+ """
+ self._select_sort_column(col)
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_category_selector_clicked(self, *args):
+ currenntIndex = unit_data.UNIT_CATEGORIES.index(self._selectedCategoryName)
+ newIndex = hildonize.touch_selector(
+ self._mainWindow,
+ "Categories",
+ unit_data.UNIT_CATEGORIES,
+ currenntIndex,
+ )
+
+ selectedCategoryName = unit_data.UNIT_CATEGORIES[newIndex]
+ self._categorySelectionButton.get_child().set_markup("<big>%s</big>" % selectedCategoryName)
+ self._switch_category(selectedCategoryName)
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_click_category(self, *args):
+ selected, iter = self._categoryView.get_selection().get_selected()
+ if iter is None:
+ # User is typing in an invalid string, not selecting any category
+ return
+ selectedCategory = self._categoryModel.get_value(iter, 0)
+ self._switch_category(selectedCategory)
+
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_click_unit(self, *args):
+ selected, iter = self._unitsView.get_selection().get_selected()
+ selected_unit = selected.get_value(iter, self.UNITS_NAME_IDX)
+ unit_spec = self._unitDataInCategory[selected_unit]
+
+ showSymbol = False