diff options
-rwxr-xr-x | portato.py | 9 | ||||
-rw-r--r-- | portato/TEST_helper.py | 4 | ||||
-rw-r--r-- | portato/gui/gtk/__init__.py | 29 | ||||
-rw-r--r-- | portato/gui/gtk/windows.py | 177 | ||||
-rw-r--r-- | portato/gui/templates/portato.glade | 891 |
5 files changed, 406 insertions, 704 deletions
@@ -49,9 +49,6 @@ def main (): parser.add_option("-f", "--frontend", action = "store", choices = FRONTENDS, default = STD_FRONTEND, dest = "frontend", help = _("the frontend to use - possible values are: %s [default: %%default]") % get_frontend_list()) - parser.add_option("-e", "--ebuild", action = "store", dest = "ebuild", - help = _("opens the ebuild viewer instead of launching Portato")) - parser.add_option("--shm", action = "store", nargs = 3, type="long", dest = "shm", help = SUPPRESS_HELP) @@ -78,14 +75,12 @@ def main (): options.frontend = arg try: - exec ("from portato.gui.%s import run, show_ebuild" % options.frontend) + exec ("from portato.gui.%s import run" % options.frontend) except ImportError, e: print _("'%(frontend)s' should be installed, but cannot be imported. This is definitely a bug. (%(error)s)") % {"frontend": options.frontend, "error": e[0]} sys.exit(1) - if options.ebuild: # show ebuild - show_ebuild(options.ebuild) - elif options.validate: # validate a plugin + if options.validate: # validate a plugin from lxml import etree try: etree.XMLSchema(file = XSD_LOCATION).assertValid(etree.parse(options.validate)) diff --git a/portato/TEST_helper.py b/portato/TEST_helper.py index ef438d8..cce0b61 100644 --- a/portato/TEST_helper.py +++ b/portato/TEST_helper.py @@ -1,9 +1,7 @@ #!/usr/bin/python -from __future__ import absolute_import - import unittest -from . import helper +import helper class HelperTest (unittest.TestCase): diff --git a/portato/gui/gtk/__init__.py b/portato/gui/gtk/__init__.py index 14424b9..9a5338b 100644 --- a/portato/gui/gtk/__init__.py +++ b/portato/gui/gtk/__init__.py @@ -3,7 +3,7 @@ # File: portato/gui/gtk/__init__.py # This file is part of the Portato-Project, a graphical portage-frontend. # -# Copyright (C) 2006 René 'Necoro' Neumann +# Copyright (C) 2006-2007 René 'Necoro' Neumann # This is free software. You may redistribute copies of it under the terms of # the GNU General Public License version 2. # There is NO WARRANTY, to the extent permitted by law. @@ -31,30 +31,3 @@ def run (): pass get_listener().close() - -def show_ebuild (pkg): - import gtk - from ... import plugin - from ...backend import system - from .windows import SearchWindow, EbuildWindow - - plugin.load_plugins("gtk") - register_ex_handler() - - def _show (pkg): - gtk.main_quit() - - pkg = system.new_package(pkg) - hook = plugin.hook("open_ebuild", pkg, None) - - ew = hook(EbuildWindow)(None, pkg) - ew.window.connect("destroy", lambda *x: gtk.main_quit()) - ew.window.set_title("Portato Ebuild Viewer - %s" % pkg.get_cpv()) - - gtk.main() - - s = SearchWindow(None, [x.get_cpv() for x in system.sort_package_list(system.find_all_packages(pkg, True))], _show) - s.window.set_title("Portato Ebuild Viewer - Search") - s.window.connect("destroy", lambda *x: gtk.main_quit()) - - gtk.main() diff --git a/portato/gui/gtk/windows.py b/portato/gui/gtk/windows.py index 11f245b..b630cb3 100644 --- a/portato/gui/gtk/windows.py +++ b/portato/gui/gtk/windows.py @@ -10,12 +10,13 @@ # # Written by René 'Necoro' Neumann <necoro@necoro.net> -from __future__ import absolute_import +from __future__ import absolute_import, with_statement # gtk stuff import gtk import gobject import gtksourceview2 +import pango # other import types, logging @@ -351,66 +352,51 @@ class PreferenceWindow (AbstractDialog): """Just closes - w/o saving.""" self.window.destroy() -class EbuildWindow (AbstractDialog): - """The window showing the ebuild.""" +class HighlightView (gtksourceview2.View): - def __init__ (self, parent, package): - """Constructor. + def __init__ (self, get_file_fn, languages = []): + self.get_fn = get_file_fn - @param parent: the parent window - @type parent: gtk.Window - @param package: the actual package - @type package: backend.Package""" - - AbstractDialog.__init__(self,parent) + man = gtksourceview2.LanguageManager() - # we want it to get minimized - self.window.set_transient_for(None) + language = None + old_lang = None + for lang in languages: + if old_lang and not language: + warning(_("No %(old)s language file installed. Falling back to %(new)s."), {"old" : old_lang, "new" : lang}) + language = man.get_language(lang) + old_lang = lang - self.window.set_title(package.get_cpv()) - - # set geometry (same as MainWindow) - mHeight = 800 - if gtk.gdk.screen_height() <= 800: mHeight = 600 - self.window.set_geometry_hints (self.window, min_width = 800, min_height = mHeight, max_height = gtk.gdk.screen_height(), max_width = gtk.gdk.screen_width()) + if not language and old_lang: + warning(_("No %(old)s language file installed. Disable highlighting."), {"old" : old_lang}) - self.package = package + buf = gtksourceview2.Buffer() + buf.set_language(language) - self._build_view() - self._show() + gtksourceview2.View.__init__(self, buf) - def _build_view(self): - """Creates the buffer and the view.""" + self.set_editable(False) + self.set_cursor_visible(False) + self.connect("map", self.cb_mapped) - man = gtksourceview2.LanguageManager() - language = man.get_language("gentoo") + self.pkg = None + self.updated = False - if language is None: - warning(_("No gentoo language file installed. Falling back to shell.")) - language = man.get_language("sh") - - # set buffer and view - self.buf = gtksourceview2.Buffer() - self.buf.set_language(language) - self.view = gtksourceview2.View(self.buf) - - def _show (self): - """Fill the buffer with content and shows the window.""" - self.view.set_editable(False) - self.view.set_cursor_visible(False) - - try: # read ebuild - f = open(self.package.get_ebuild_path(), "r") - lines = f.readlines() - f.close() - except IOError,e: - io_ex_dialog(e) - return + def update (self, pkg): + self.pkg = pkg + self.updated = True + + def cb_mapped (self, *args): + if self.updated and self.pkg: + try: + with open(self.get_fn(self.pkg)) as f: + lines = f.readlines() + except IOError, e: + lines = _("Error: %s") % e.strerror - self.buf.set_text("".join(lines)) + self.get_buffer().set_text("".join(lines)) - self.tree.get_widget("ebuildScroll").add(self.view) - self.window.show_all() + return False class PackageTable: """A window with data about a specfic package.""" @@ -643,6 +629,10 @@ class PackageTable: def cb_vers_list_changed (self, *args): pkg = self.actual_package() + self.main.ebuildView.update(pkg) + self.main.ebuildView.get_parent().show_all() + self.main.changelogView.update(pkg) + self.main.changelogView.get_parent().show_all() self.set_desc_label() @@ -653,6 +643,7 @@ class PackageTable: # set use list self.useList.get_model().clear() + self.useList.columns_autosize() self.fill_use_list() # @@ -743,11 +734,6 @@ class PackageTable: self.main.notebook.set_current_page(self.main.QUEUE_PAGE) return True - def cb_package_ebuild_clicked(self, button): - hook = plugin.hook("open_ebuild", package = self.actual_package(), parent = self.window) - hook(EbuildWindow)(self.window, self.actual_package()) - return True - def cb_testing_toggled (self, button): """Callback for toggled testing-checkbox.""" status = button.get_active() @@ -825,51 +811,50 @@ class PackageTable: return True -class LogWindow (AbstractDialog, logging.Handler): +class LogView (logging.Handler): - def __init__ (self, parent): - AbstractDialog.__init__(self, parent) - logging.Handler.__init__(self, logging.INFO) + colors = ( + (logging.DEBUG, "debug", "blue"), + (logging.INFO, "info", "green"), + (logging.WARNING, "warning", "yellow"), + (-1, "error", "red") + ) - self.logView = self.tree.get_widget("logView") - logging.getLogger("portatoLogger").addHandler(self) + def __init__ (self, view): + logging.Handler.__init__(self, logging.DEBUG) - self.deleteIsOk = False - - def format (self, record): + self.view = view + self.buf = view.get_buffer() + + # set tags + for lvl, name, color in self.colors: + self.buf.create_tag("log_%s" % name, foreground = color,weight = pango.WEIGHT_BOLD) - if (record.levelno > logging.INFO): - return "%s: %s" % (record.levelname, record.getMessage()) - else: - return record.getMessage() + logging.getLogger("portatoLogger").addHandler(self) def emit (self, record): - self.logView.get_buffer().insert_at_cursor(self.format(record)+"\n") - - def show (self): - self.window.show() - - def close (self): - self.window.hide() - - def destroy (self): - self.deleteIsOk = True - self.window.destroy() + iter = self.buf.get_end_iter() + + for lvl, name, color in self.colors: + if lvl == -1 or record.levelno <= lvl: + tag = "log_%s" % name + break - def cb_delete (self, *args): - if not self.deleteIsOk: - self.close() - return True - else: - return False + self.buf.insert_with_tags_by_name(iter, "* ", tag) + self.buf.insert_at_cursor(record.getMessage()+"\n") class MainWindow (Window): """Application main window.""" # NOTEBOOK PAGE CONSTANTS - PKG_PAGE = 0 - QUEUE_PAGE = 1 - CONSOLE_PAGE = 2 + ( + PKG_PAGE, + EBUILD_PAGE, + CHANGELOG_PAGE, + QUEUE_PAGE, + CONSOLE_PAGE, + LOG_PAGE + ) = range(6) def __init__ (self, splash = None): """Build up window""" @@ -895,7 +880,7 @@ class MainWindow (Window): self.instPixbuf = self.window.render_icon(gtk.STOCK_YES, gtk.ICON_SIZE_MENU) # get the logging window as soon as possible - self.logWindow = LogWindow(self.window) + self.logView = LogView(self.tree.get_widget("logView")) # config splash(_("Loading Config")) @@ -974,6 +959,16 @@ class MainWindow (Window): self.notebook = self.tree.get_widget("notebook") self.window.show_all() + ebuildScroll = self.tree.get_widget("ebuildScroll") + self.ebuildView = HighlightView(lambda p: p.get_ebuild_path(), ["gentoo", "sh"]) + ebuildScroll.add(self.ebuildView) + ebuildScroll.hide_all() + + changelogScroll = self.tree.get_widget("changelogScroll") + self.changelogView = HighlightView(lambda p: os.path.join(p.get_package_path(), "ChangeLog"), ["changelog"]) + changelogScroll.add(self.changelogView) + changelogScroll.hide_all() + # table self.packageTable = PackageTable(self) self.packageTable.hide() @@ -1390,9 +1385,6 @@ class MainWindow (Window): PluginWindow(self.window, queue) return True - def cb_show_log_clicked (self, btn): - self.logWindow.show() - def cb_show_updates_clicked (self, button): def __update(): @@ -1535,7 +1527,6 @@ class MainWindow (Window): def cb_destroy (self, widget): """Calls main_quit().""" - self.logWindow.destroy() gtk.main_quit() def main (self): diff --git a/portato/gui/templates/portato.glade b/portato/gui/templates/portato.glade index d6f5537..86c97e5 100644 --- a/portato/gui/templates/portato.glade +++ b/portato/gui/templates/portato.glade @@ -17,7 +17,6 @@ <child> <widget class="GtkMenuItem" id="fileMenuItem"> <property name="visible">True</property> - <property name="submenu">fileMenu</property> <property name="label" translatable="yes">_File</property> <property name="use_underline">True</property> <child> @@ -79,7 +78,6 @@ <child> <widget class="GtkMenuItem" id="emergeMenuItem"> <property name="visible">True</property> - <property name="submenu">emergeMenu</property> <property name="label" translatable="yes">_Emerge</property> <property name="use_underline">True</property> <child> @@ -217,9 +215,7 @@ <widget class="GtkMenuItem" id="hiddenQueueMenu"> <property name="sensitive">False</property> <property name="no_show_all">True</property> - <property name="submenu">queuePopup</property> - <property name="label" translatable="yes">_Queue</property> - <property name="use_underline">True</property> + <property name="label" translatable="yes">Queue</property> <child> <widget class="GtkMenu" id="queuePopup"> <property name="visible">True</property> @@ -238,9 +234,7 @@ <widget class="GtkMenuItem" id="hiddenConsoleMenu"> <property name="sensitive">False</property> <property name="no_show_all">True</property> - <property name="submenu">consolePopup</property> - <property name="label" translatable="yes">_Console</property> - <property name="use_underline">True</property> + <property name="label" translatable="yes">Console</property> <child> <widget class="GtkMenu" id="consolePopup"> <property name="visible">True</property> @@ -293,8 +287,7 @@ <child> <widget class="GtkMenuItem" id="pluginMenuItem"> <property name="no_show_all">True</property> - <property name="submenu">pluginMenu</property> - <property name="label" translatable="yes">_Plugins</property> + <property name="label" translatable="yes">Plu_gins</property> <property name="use_underline">True</property> <child> <widget class="GtkMenu" id="pluginMenu"> @@ -306,7 +299,6 @@ <child> <widget class="GtkMenuItem" id="helpMenuItem"> <property name="visible">True</property> - <property name="submenu">helpMenu</property> <property name="label" translatable="yes">_?</property> <property name="use_underline">True</property> <child> @@ -345,15 +337,6 @@ </child> </widget> </child> - <child> - <widget class="GtkMenuItem" id="logItem"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Show _Log</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_show_log_clicked"/> - </widget> - </child> </widget> </child> </widget> @@ -403,6 +386,7 @@ <child> <widget class="GtkFrame" id="listFrame"> <property name="visible">True</property> + <property name="label_xalign">0</property> <property name="label_yalign">0</property> <property name="shadow_type">GTK_SHADOW_IN</property> <child> @@ -461,115 +445,61 @@ <child> <widget class="GtkNotebook" id="notebook"> <property name="visible">True</property> + <property name="homogeneous">True</property> <child> <widget class="GtkTable" id="PackageTable"> <property name="visible">True</property> <property name="n_rows">5</property> <property name="n_columns">3</property> <child> - <widget class="GtkHBox" id="pkgLinkBox"> + <widget class="GtkHBox" id="checkHB"> <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">1</property> + <property name="homogeneous">True</property> <child> - <placeholder/> + <widget class="GtkCheckButton" id="installedCheck"> + <property name="visible">True</property> + <property name="no_show_all">True</property> + <property name="label" translatable="yes">Installed</property> + <property name="response_id">0</property> + <property name="draw_indicator">True</property> + <signal name="button_press_event" handler="cb_button_pressed"/> + </widget> + <packing> + <property name="fill">False</property> + </packing> </child> - </widget> - <packing> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_EXPAND</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="notInSysLabel"> - <property name="visible">True</property> - <property name="no_show_all">True</property> - <property name="label" translatable="yes"><b>Installed, but not in portage anymore</b></property> - <property name="use_markup">True</property> - </widget> - <packing> - <property name="right_attach">3</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox2"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="spacing">5</property> <child> - <widget class="GtkScrolledWindow" id="versionListScroll"> + <widget class="GtkCheckButton" id="maskedCheck"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="hscrollbar_policy">GTK_POLICY_NEVER</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <child> - <widget class="GtkTreeView" id="versionList"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="headers_clickable">True</property> - <property name="show_expanders">False</property> - <signal name="cursor_changed" handler="cb_vers_list_changed"/> - </widget> - </child> + <property name="no_show_all">True</property> + <property name="label" translatable="yes">Masked</property> + <property name="response_id">0</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="cb_masked_toggled"/> </widget> <packing> - <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> </packing> </child> <child> - <widget class="GtkScrolledWindow" id="useListScroll"> + <widget class="GtkCheckButton" id="testingCheck"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <child> - <widget class="GtkTreeView" id="useList"> - <property name="visible">True</property> - </widget> - </child> + <property name="no_show_all">True</property> + <property name="label" translatable="yes">Testing</property> + <property name="response_id">0</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="cb_testing_toggled"/> </widget> <packing> - <property name="position">1</property> + <property name="fill">False</property> + <property name="position">2</property> </packing> </child> </widget> <packing> <property name="right_attach">3</property> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> - <property name="x_padding">5</property> - <property name="y_padding">5</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="descLabel"> - <property name="visible">True</property> - <property name="justify">GTK_JUSTIFY_CENTER</property> - <property name="wrap">True</property> - </widget> - <packing> - <property name="right_attach">3</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - <property name="y_padding">10</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="missingLabel"> - <property name="visible">True</property> - <property name="no_show_all">True</property> - <property name="label" translatable="yes"><span foreground='red'><b>MISSING KEYWORD</b></span></property> - <property name="use_markup">True</property> - </widget> - <packing> - <property name="right_attach">3</property> <property name="top_attach">2</property> <property name="bottom_attach">3</property> <property name="y_options">GTK_FILL</property> @@ -686,19 +616,6 @@ <property name="position">2</property> </packing> </child> - <child> - <widget class="GtkButton" id="pkgEbuildBtn"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Show the ebuild for this package</property> - <property name="label" translatable="yes">E_build</property> - <property name="use_underline">True</property> - <property name="response_id">0</property> - <signal name="clicked" handler="cb_package_ebuild_clicked"/> - </widget> - <packing> - <property name="position">3</property> - </packing> - </child> </widget> <packing> <property name="right_attach">3</property> @@ -708,51 +625,90 @@ </packing> </child> <child> - <widget class="GtkHBox" id="checkHB"> + <widget class="GtkLabel" id="missingLabel"> <property name="visible">True</property> - <property name="spacing">1</property> - <property name="homogeneous">True</property> + <property name="no_show_all">True</property> + <property name="label" translatable="yes"><span foreground='red'><b>MISSING KEYWORD</b></span></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="descLabel"> + <property name="visible">True</property> + <property name="justify">GTK_JUSTIFY_CENTER</property> + <property name="wrap">True</property> + </widget> + <packing> + <property name="right_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + <property name="y_padding">10</property> + </packing> + </child> + <child> + <widget class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">5</property> <child> - <widget class="GtkCheckButton" id="installedCheck"> + <widget class="GtkScrolledWindow" id="versionListScroll"> <property name="visible">True</property> - <property name="no_show_all">True</property> - <property name="label" translatable="yes">Installed</property> - <property name="response_id">0</property> - <property name="draw_indicator">True</property> - <signal name="button_press_event" handler="cb_button_pressed"/> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="hscrollbar_policy">GTK_POLICY_NEVER</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <child> + <widget class="GtkTreeView" id="versionList"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="headers_clickable">True</property> + <property name="show_expanders">False</property> + <signal name="cursor_changed" handler="cb_vers_list_changed"/> + </widget> + </child> </widget> <packing> - <property name="fill">False</property> + <property name="expand">False</property> </packing> </child> <child> - <widget class="GtkCheckButton" id="maskedCheck"> + <widget class="GtkScrolledWindow" id="useListScroll"> <property name="visible">True</property> - <property name="no_show_all">True</property> - <property name="label" translatable="yes">Masked</property> - <property name="response_id">0</property> - <property name="draw_indicator">True</property> - <signal name="toggled" handler="cb_masked_toggled"/> + <property name="can_focus">False</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <child> + <widget class="GtkTreeView" id="useList"> + <property name="visible">True</property> + </widget> + </child> </widget> <packing> - <property name="fill">False</property> <property name="position">1</property> </packing> </child> - <child> - <widget class="GtkCheckButton" id="testingCheck"> - <property name="visible">True</property> - <property name="no_show_all">True</property> - <property name="label" translatable="yes">Testing</property> - <property name="response_id">0</property> - <property name="draw_indicator">True</property> - <signal name="toggled" handler="cb_testing_toggled"/> - </widget> - <packing> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> + </widget> + <packing> + <property name="right_attach">3</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_padding">5</property> + <property name="y_padding">5</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="notInSysLabel"> + <property name="visible">True</property> + <property name="no_show_all">True</property> + <property name="label" translatable="yes"><b>Installed, but not in portage anymore</b></property> + <property name="use_markup">True</property> </widget> <packing> <property name="right_attach">3</property> @@ -761,6 +717,22 @@ <property name="y_options">GTK_FILL</property> </packing> </child> + <child> + <widget class="GtkHBox" id="pkgLinkBox"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <placeholder/> + </child> + </widget> + <packing> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_EXPAND</property> + <property name="y_options"></property> + </packing> + </child> </widget> <packing> <property name="tab_fill">False</property> @@ -769,10 +741,67 @@ <child> <widget class="GtkLabel" id="label"> <property name="visible">True</property> - <property name="label" translatable="yes">Package</property> + <property name="label" translatable="yes">_Package</property> + <property name="use_underline">True</property> + </widget> + <packing> + <property name="type">tab</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <widget class="GtkScrolledWindow" id="ebuildScroll"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <child> + <placeholder/> + </child> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label16"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">E_build</property> + <property name="use_underline">True</property> + </widget> + <packing> + <property name="type">tab</property> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <widget class="GtkScrolledWindow" id="changelogScroll"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <child> + <placeholder/> + </child> + </widget> + <packing> + <property name="position">2</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label14"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">C_hangelog</property> + <property name="use_underline">True</property> </widget> <packing> <property name="type">tab</property> + <property name="position">2</property> <property name="tab_fill">False</property> </packing> </child> @@ -910,18 +939,19 @@ </child> </widget> <packing> - <property name="position">1</property> + <property name="position">3</property> </packing> </child> <child> <widget class="GtkLabel" id="label2"> <property name="visible">True</property> - <property name="label" translatable="yes">Queue</property> + <property name="label" translatable="yes">_Queue</property> + <property name="use_underline">True</property> <property name="single_line_mode">True</property> </widget> <packing> <property name="type">tab</property> - <property name="position">1</property> + <property name="position">3</property> <property name="tab_fill">False</property> </packing> </child> @@ -936,18 +966,52 @@ </child> </widget> <packing> - <property name="position">2</property> + <property name="position">4</property> </packing> </child> <child> <widget class="GtkLabel" id="label3"> <property name="visible">True</property> - <property name="label" translatable="yes">Console</property> + <property name="label" translatable="yes">_Console</property> + <property name="use_underline">True</property> <property name="single_line_mode">True</property> </widget> <packing> <property name="type">tab</property> - <property name="position">2</property> + <property name="position">4</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow3"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <child> + <widget class="GtkTextView" id="logView"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="editable">False</property> + </widget> + </child> + </widget> + <packing> + <property name="position">5</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label15"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_Log</property> + <property name="use_underline">True</property> + </widget> + <packing> + <property name="type">tab</property> + <property name="position">5</property> <property name="tab_fill">False</property> </packing> </child> @@ -1098,6 +1162,7 @@ <child> <widget class="GtkFrame" id="generalFrame"> <property name="visible">True</property> + <property name="label_xalign">0</property> <child> <widget class="GtkAlignment" id="alignment1"> <property name="visible">True</property> @@ -1161,6 +1226,7 @@ <child> <widget class="GtkFrame" id="updateFrame"> <property name="visible">True</property> + <property name="label_xalign">0</property> <child> <widget class="GtkAlignment" id="alignment2"> <property name="visible">True</property> @@ -1213,6 +1279,7 @@ <child> <widget class="GtkFrame" id="syncFrame"> <property name="visible">True</property> + <property name="label_xalign">0</property> <child> <widget class="GtkAlignment" id="alignment5"> <property name="visible">True</property> @@ -1261,6 +1328,7 @@ <child> <widget class="GtkFrame" id="keywordFrame"> <property name="visible">True</property> + <property name="label_xalign">0</property> <child> <widget class="GtkAlignment" id="alignment3"> <property name="visible">True</property> @@ -1282,188 +1350,189 @@ <placeholder/> </child> <child> - <widget class="GtkEntry" id="useFileEdit"> + <widget class="GtkLabel" id="maskLabel"> <property name="visible">True</property> + <property name="xalign">0</property> + <property name="xpad">5</property> + <property name="label" translatable="yes"><u><i>Masking Keywords</i></u></property> + <property name="use_markup">True</property> + <property name="single_line_mode">True</property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> + <property name="top_attach">7</property> + <property name="bottom_attach">8</property> + <property name="y_padding">5</property> </packing> </child> <child> - <widget class="GtkLabel" id="useEditLabel"> + <widget class="GtkLabel" id="testLabel"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="label" translatable="yes">File name to use, if package.use is a directory: </property> + <property name="xpad">5</property> + <property name="label" translatable="yes"><u><i>Testing Keywords</i></u></property> + <property name="use_markup">True</property> <property name="single_line_mode">True</property> </widget> <packing> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="y_padding">5</property> </packing> </child> <child> - <widget class="GtkCheckButton" id="usePerVersionCheck"> + <widget class="GtkLabel" id="useLabel"> <property name="visible">True</property> - <property name="label" translatable="yes">Add only exact version to package.use</property> - <property name="response_id">0</property> - <property name="draw_indicator">True</property> + <property name="xalign">0</property> + <property name="xpad">5</property> + <property name="label" translatable="yes"><u><i>Use-Flags</i></u></property> + <property name="use_markup">True</property> + <property name="single_line_mode">True</property> + </widget> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_padding">6</property> + </packing> + </child> + <child> + <widget class="GtkEventBox" id="hintEB"> + <property name="visible">True</property> + <child> + <widget class="GtkFrame" id="hintFrame"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">GTK_SHADOW_OUT</property> + <child> + <widget class="GtkLabel" id="hintLabel"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes"><u>You may use the following placeholders:</u> + +<i>$(cat)</i>: category +<i>$(pkg)</i>: package name +<i>$(cat-1)/$(cat-2)</i>: first/second part of the category</property> + <property name="use_markup">True</property> + </widget> + </child> + <child> + <placeholder/> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + </child> </widget> <packing> <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> </packing> </child> <child> - <widget class="GtkCheckButton" id="testPerVersionCheck"> + <widget class="GtkCheckButton" id="maskPerVersionCheck"> <property name="visible">True</property> - <property name="label" translatable="yes">Add only exact version to package.keywords</property> + <property name="label" translatable="yes">Add only exact version to package.mask/package.unmask</property> <property name="response_id">0</property> <property name="draw_indicator">True</property> </widget> <packing> <property name="right_attach">2</property> - <property name="top_attach">5</property> - <property name="bottom_attach">6</property> + <property name="top_attach">8</property> + <property name="bottom_attach">9</property> </packing> </child> <child> - <widget class="GtkLabel" id="testEditLabel"> + <widget class="GtkLabel" id="maskEditLabel"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="label" translatable="yes">File name to use, if package.keywords is a directory: </property> + <property name="label" translatable="yes">File name to use, if package.mask/package.unmask is a directory: </property> <property name="single_line_mode">True</property> </widget> <packing> - <property name="top_attach">6</property> - <property name="bottom_attach">7</property> + <property name="top_attach">9</property> + <property name="bottom_attach">10</property> </packing> </child> <child> - <widget class="GtkEntry" id="testFileEdit"> + <widget class="GtkEntry" id="maskFileEdit"> <property name="visible">True</property> </widget> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> - <property name="top_attach">6</property> - <property name="bottom_attach">7</property> + <property name="top_attach">9</property> + <property name="bottom_attach">10</property> </packing> </child> <child> - <widget class="GtkEntry" id="maskFileEdit"> + <widget class="GtkEntry" id="testFileEdit"> <property name="visible">True</property> </widget> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> - <property name="top_attach">9</property> - <property name="bottom_attach">10</property> + <property name="top_attach">6</property> + <property name="bottom_attach">7</property> </packing> </child> <child> - <widget class="GtkLabel" id="maskEditLabel"> + <widget class="GtkLabel" id="testEditLabel"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="label" translatable="yes">File name to use, if package.mask/package.unmask is a directory: </property> + <property name="label" translatable="yes">File name to use, if package.keywords is a directory: </property> <property name="single_line_mode">True</property> </widget> <packing> - <property name="top_attach">9</property> - <property name="bottom_attach">10</property> + <property name="top_attach">6</property> + <property name="bottom_attach">7</property> </packing> </child> <child> - <widget class="GtkCheckButton" id="maskPerVersionCheck"> + <widget class="GtkCheckButton" id="testPerVersionCheck"> <property name="visible">True</property> - <property name="label" translatable="yes">Add only exact version to package.mask/package.unmask</property> + <property name="label" translatable="yes">Add only exact version to package.keywords</property> <property name="response_id">0</property> <property name="draw_indicator">True</property> </widget> <packing> <property name="right_attach">2</property> - <property name="top_attach">8</property> - <property name="bottom_attach">9</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> </packing> </child> <child> - <widget class="GtkEventBox" id="hintEB"> + <widget class="GtkCheckButton" id="usePerVersionCheck"> <property name="visible">True</property> - <child> - <widget class="GtkFrame" id="hintFrame"> - <property name="visible">True</property> - <property name="shadow_type">GTK_SHADOW_OUT</property> - <child> - <widget class="GtkLabel" id="hintLabel"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes"><u>You may use the following placeholders:</u> - -<i>$(cat)</i>: category -<i>$(pkg)</i>: package name -<i>$(cat-1)/$(cat-2)</i>: first/second part of the category</property> - <property name="use_markup">True</property> - </widget> - </child> - <child> - <placeholder/> - <packing> - <property name="type">label_item</property> - </packing> - </child> - </widget> - </child> + <property name="label" translatable="yes">Add only exact version to package.use</property> + <property name="response_id">0</property> + <property name="draw_indicator">True</property> </widget> <packing> <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> </packing> </child> <child> - <widget class="GtkLabel" id="useLabel"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="xpad">5</property> - <property name="label" translatable="yes"><u><i>Use-Flags</i></u></property> - <property name="use_markup">True</property> - <property name="single_line_mode">True</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="y_padding">6</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="testLabel"> + <widget class="GtkLabel" id="useEditLabel"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="xpad">5</property> - <property name="label" translatable="yes"><u><i>Testing Keywords</i></u></property> - <property name="use_markup">True</property> + <property name="label" translatable="yes">File name to use, if package.use is a directory: </property> <property name="single_line_mode">True</property> </widget> <packing> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> - <property name="y_padding">5</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> </packing> </child> <child> - <widget class="GtkLabel" id="maskLabel"> + <widget class="GtkEntry" id="useFileEdit"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="xpad">5</property> - <property name="label" translatable="yes"><u><i>Masking Keywords</i></u></property> - <property name="use_markup">True</property> - <property name="single_line_mode">True</property> </widget> <packing> - <property name="top_attach">7</property> - <property name="bottom_attach">8</property> - <property name="y_padding">5</property> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> </packing> </child> </widget> @@ -1645,302 +1714,6 @@ </widget> </child> </widget> - <widget class="GtkWindow" id="EbuildWindow"> - <property name="destroy_with_parent">True</property> - <child> - <widget class="GtkScrolledWindow" id="ebuildScroll"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <child> - <placeholder/> - </child> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="fileMenu"> - <property name="visible">True</property> - <child> - <widget class="GtkImageMenuItem" id="prefItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Preferences</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_preferences_clicked"/> - <accelerator key="P" modifiers="GDK_CONTROL_MASK" signal="activate"/> - <child internal-child="image"> - <widget class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - <property name="stock">gtk-preferences</property> - <property name="icon_size">1</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="reloadItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Re_load Portage</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_reload_clicked"/> - <child internal-child="image"> - <widget class="GtkImage" id="image2"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - <property name="stock">gtk-refresh</property> - <property name="icon_size">1</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separatormenuitem1"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="closeItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">gtk-quit</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="cb_close"/> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="emergeMenu"> - <property name="visible">True</property> - <child> - <widget class="GtkImageMenuItem" id="emergeItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">E_merge</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_emerge_clicked"/> - <child internal-child="image"> - <widget class="GtkImage" id="menu-item-image9"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK</property> - <property name="stock">gtk-add</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="unmergeItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Unmerge</property> - <property name="use_underline">True</property> - <child internal-child="image"> - <widget class="GtkImage" id="menu-item-image10"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK</property> - <property name="stock">gtk-remove</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="updateItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Update _World</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_update_clicked"/> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="showUpdatesItem"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Show Updatable P_ackages</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_show_updates_clicked"/> - </widget> - </child> - <child> - <widget class="GtkCheckMenuItem" id="showInstalledItem"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Show Only _Installed Packages</property> - <property name="use_underline">True</property> - <signal name="toggled" handler="cb_show_installed_toggled"/> - <accelerator key="i" modifiers="GDK_CONTROL_MASK" signal="activate"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separatormenuitem2"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="syncItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Sync</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_sync_clicked"/> - <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/> - <child internal-child="image"> - <widget class="GtkImage" id="menu-item-image11"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK</property> - <property name="stock">gtk-refresh</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="saveFlagsItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Save _Flags</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_save_flags_clicked"/> - <child internal-child="image"> - <widget class="GtkImage" id="menu-item-image12"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK</property> - <property name="stock">gtk-save</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separatormenuitem3"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkCheckMenuItem" id="pauseItemMenu"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Emerge _Paused</property> - <property name="use_underline">True</property> - <accelerator key="Z" modifiers="GDK_CONTROL_MASK" signal="activate"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="killItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Kill Emerge</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_kill_clicked"/> - <accelerator key="K" modifiers="GDK_CONTROL_MASK" signal="activate"/> - <child internal-child="image"> - <widget class="GtkImage" id="menu-item-image13"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - <property name="stock">gtk-stop</property> - <property name="icon_size">1</property> - </widget> - </child> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="queuePopup"> - <property name="visible">True</property> - <child> - <widget class="GtkMenuItem" id="oneShotItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Oneshot</property> - <signal name="activate" handler="cb_oneshot_clicked"/> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="consolePopup"> - <property name="visible">True</property> - <child> - <widget class="GtkImageMenuItem" id="copyItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Copy</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_copy_clicked"/> - <child internal-child="image"> - <widget class="GtkImage" id="menu-item-image8"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - <property name="stock">gtk-copy</property> - <property name="icon_size">1</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="killItemPopup"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Kill Emerge</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_kill_clicked"/> - <child internal-child="image"> - <widget class="GtkImage" id="image25"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - <property name="stock">gtk-stop</property> - <property name="icon_size">1</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkCheckMenuItem" id="pauseItemPopup"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Emerge _Paused</property> - <property name="use_underline">True</property> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="helpMenu"> - <property name="visible">True</property> - <child> - <widget class="GtkImageMenuItem" id="aboutItem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_About</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_about_clicked"/> - <child internal-child="image"> - <widget class="GtkImage" id="image31"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - <property name="stock">gtk-about</property> - <property name="icon_size">1</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="pluginsItem"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">_Plugins</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_plugins_clicked"/> - <child internal-child="image"> - <widget class="GtkImage" id="menu-item-image14"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="stock">gtk-connect</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="logItem"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Show _Log</property> - <property name="use_underline">True</property> - <signal name="activate" handler="cb_show_log_clicked"/> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="pluginMenu"> - <property name="visible">True</property> - </widget> <widget class="GtkMenu" id="systrayPopup"> <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> @@ -2178,34 +1951,6 @@ Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net></proper </widget> </child> </widget> - <widget class="GtkWindow" id="LogWindow"> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="title" translatable="yes">Logging Output</property> - <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> - <property name="default_width">400</property> - <property name="default_height">500</property> - <property name="destroy_with_parent">True</property> - <property name="urgency_hint">True</property> - <signal name="delete_event" handler="cb_delete"/> - <child> - <widget class="GtkScrolledWindow" id="scrolledwindow1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <child> - <widget class="GtkTextView" id="logView"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="editable">False</property> - <property name="cursor_visible">False</property> - </widget> - </child> - </widget> - </child> - </widget> <widget class="GtkWindow" id="SplashScreen"> <property name="width_request">300</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> |