00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 import gtk, gtk.glade
00022 import os
00023
00024 import functions
00025
00026 from modules.clWidgets import EqualizerBox
00027
00028
00029
00030
00031
00032
00033
00034 class Toolbar(gtk.Toolbar):
00035
00036
00037
00038 def __init__(self, window):
00039
00040 self.pyjama = window.main
00041
00042 gtk.Toolbar.__init__(self)
00043 show_toolbar_text = self.pyjama.settings.get_value("PYJAMA", "SHOW_TOOLBAR_TEXT", True)
00044
00045
00046 if show_toolbar_text:
00047 self.set_style(gtk.TOOLBAR_BOTH)
00048 else:
00049 self.set_style(gtk.TOOLBAR_ICONS)
00050 self.set_icon_size(gtk.ICON_SIZE_LARGE_TOOLBAR)
00051 self.set_show_arrow(True)
00052
00053
00054
00055
00056
00057
00058
00059 self.bHistoryBack = gtk.ToolButton("Back")
00060 self.bHistoryBack.set_stock_id(gtk.STOCK_GO_BACK)
00061 self.bHistoryBack.set_sensitive(False)
00062 self.bHistoryBack.set_tooltip_text(_("Show previous page in history"))
00063 self.bHistoryBack.connect("clicked", self.on_bHistoryBack_clicked)
00064 self.insert(self.bHistoryBack, -1)
00065
00066
00067 self.bHome = gtk.ToolButton("Home")
00068 self.bHome.set_stock_id(gtk.STOCK_HOME)
00069 self.bHome.set_label(_("Home"))
00070 self.bHome.set_tooltip_text(_("Show start-page"))
00071 self.bHome.connect("clicked", self.on_bHome_clicked)
00072 self.insert(self.bHome, -1)
00073
00074
00075 self.bHistoryForward = gtk.ToolButton("Forward")
00076 self.bHistoryForward.set_stock_id(gtk.STOCK_GO_FORWARD)
00077 self.bHistoryForward.set_sensitive(False)
00078 self.bHistoryForward.set_tooltip_text(_("Show next page in history"))
00079 self.bHistoryForward.connect("clicked", self.on_bHistoryForward_clicked)
00080 self.insert(self.bHistoryForward, -1)
00081
00082
00083 self.Separator1 = gtk.SeparatorToolItem()
00084 self.insert(self.Separator1, -1)
00085
00086
00087 self.space_fs = gtk.ToolItem()
00088 self.space_fs.set_expand(True)
00089 self.insert(self.space_fs, -1)
00090
00091 self.bEqualizer = gtk.ToolButton("Equalizer")
00092 self.set_image(self.bEqualizer, "view-media-equalizer.png")
00093 self.bEqualizer.set_tooltip_text(_("Show Equalizer"))
00094 self.bEqualizer.set_label("Equalizer")
00095 self.bEqualizer.connect("clicked", self.cb_show_equalizer)
00096 self.insert(self.bEqualizer, -1)
00097 self.bEqualizer.show()
00098
00099 self.bPref = gtk.ToolButton("Preferences")
00100 self.bPref.set_stock_id(gtk.STOCK_PREFERENCES)
00101 self.bPref.set_tooltip_text(_("Show Preferences"))
00102 self.bPref.connect("clicked", self.pyjama.show_preferences)
00103 self.insert(self.bPref, -1)
00104 self.bPref.show()
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125 self.accel_group = gtk.AccelGroup()
00126
00127 self.bHistoryBack.add_accelerator("clicked", self.accel_group, 65361, gtk.gdk.MOD1_MASK, gtk.ACCEL_VISIBLE)
00128 self.bHome.add_accelerator("clicked", self.accel_group, ord("h"), gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
00129 self.bHistoryForward.add_accelerator("clicked", self.accel_group, 65363, gtk.gdk.MOD1_MASK, gtk.ACCEL_VISIBLE)
00130 self.pyjama.window.add_accel_group(self.accel_group)
00131
00132
00133 self.show_all()
00134
00135
00136
00137
00138
00139
00140 def set_image(self, widget, uri):
00141 w, h = gtk.icon_size_lookup(self.get_icon_size())
00142 if not os.path.exists(uri):
00143 if os.path.exists(os.path.join(functions.install_dir(), "images", uri)):
00144 uri = os.path.join(functions.install_dir(), "images", uri)
00145 pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(uri, w, h)
00146 img = gtk.Image()
00147 img.set_from_pixbuf(pixbuf)
00148 img.show()
00149 widget.set_icon_widget(img)
00150
00151
00152
00153
00154
00155
00156
00157 def on_bHistoryForward_clicked(self, ev):
00158 if len(self.pyjama.historyForward) >= self.pyjama.settings.get_value("PERFORMANCE", "HISTORY_SIZE"):
00159 self.pyjama.historyForward.pop(0)
00160 if len(self.pyjama.historyForward) > 0:
00161 self.pyjama.historyBack.append(self.pyjama.historyCurrent)
00162 ret = self.pyjama.historyForward.pop()
00163 layout = ret['layout']
00164 data1 = ret['data1']
00165 data2 = ret['data2']
00166 data3 = ret['data3']
00167 data4 = ret['data4']
00168 self.pyjama.layouts.show_layout(layout, data1, data2, data3, data4, fromhistory=True, who_called = "on_bHistoryForward_clicked")
00169
00170 def on_bHome_clicked(self, ev):
00171 print self.pyjama.check_another_instance_running()
00172 self.pyjama.go_home()
00173
00174 def on_bHistoryBack_clicked(self, ev):
00175 if len(self.pyjama.historyBack) >= self.pyjama.settings.get_value("PERFORMANCE", "HISTORY_SIZE"):
00176 self.pyjama.historyBack.pop(0)
00177 if len(self.pyjama.historyBack) > 0:
00178 self.pyjama.historyForward.append(self.pyjama.historyCurrent)
00179 ret = self.pyjama.historyBack.pop()
00180 layout = ret['layout']
00181 data1 = ret['data1']
00182 data2 = ret['data2']
00183 data3 = ret['data3']
00184 data4 = ret['data4']
00185 self.pyjama.layouts.show_layout(layout, data1, data2, data3, data4, fromhistory=True, who_called = "on_bHistoryBack_clicked")
00186
00187
00188 def on_bAbout_clicked(self, ev):
00189 self.pyjama.window.show_about()
00190
00191 def cb_show_equalizer(self, ev=None):
00192 eq = EqualizerBox(self.pyjama)
00193 eq.dialog()