89
90
def __init__(self):
90
self.toplevel = gtk.glade.XML(GLADEFILENAME, 'window_main', 'olive-gtk')
91
self.window = self.toplevel.get_widget('window_main')
91
self.window = OliveGui(calling_app = self)
92
93
self.pref = Preferences()
95
96
# Initialize the statusbar
96
self.statusbar = self.toplevel.get_widget('statusbar')
97
self.context_id = self.statusbar.get_context_id('olive')
100
self.window_main = self.toplevel.get_widget('window_main')
102
self.hpaned_main = self.toplevel.get_widget('hpaned_main')
104
self.treeview_left = self.toplevel.get_widget('treeview_left')
105
self.treeview_right = self.toplevel.get_widget('treeview_right')
106
# Get some important menu items
107
self.menuitem_add_files = self.toplevel.get_widget('menuitem_add_files')
108
self.menuitem_remove_files = self.toplevel.get_widget('menuitem_remove_file')
109
self.menuitem_file_bookmark = self.toplevel.get_widget('menuitem_file_bookmark')
110
self.menuitem_file_make_directory = self.toplevel.get_widget('menuitem_file_make_directory')
111
self.menuitem_file_rename = self.toplevel.get_widget('menuitem_file_rename')
112
self.menuitem_file_move = self.toplevel.get_widget('menuitem_file_move')
113
self.menuitem_file_annotate = self.toplevel.get_widget('menuitem_file_annotate')
114
self.menuitem_view_show_hidden_files = self.toplevel.get_widget('menuitem_view_show_hidden_files')
115
self.menuitem_view_show_ignored_files = self.toplevel.get_widget('menuitem_view_show_ignored_files')
116
self.menuitem_branch = self.toplevel.get_widget('menuitem_branch')
117
self.menuitem_branch_init = self.toplevel.get_widget('menuitem_branch_initialize')
118
self.menuitem_branch_get = self.toplevel.get_widget('menuitem_branch_get')
119
self.menuitem_branch_checkout = self.toplevel.get_widget('menuitem_branch_checkout')
120
self.menuitem_branch_pull = self.toplevel.get_widget('menuitem_branch_pull')
121
self.menuitem_branch_push = self.toplevel.get_widget('menuitem_branch_push')
122
self.menuitem_branch_update = self.toplevel.get_widget('menuitem_branch_update')
123
self.menuitem_branch_revert = self.toplevel.get_widget('menuitem_branch_revert')
124
self.menuitem_branch_merge = self.toplevel.get_widget('menuitem_branch_merge')
125
self.menuitem_branch_commit = self.toplevel.get_widget('menuitem_branch_commit')
126
self.menuitem_branch_tags = self.toplevel.get_widget('menuitem_branch_tags')
127
self.menuitem_branch_status = self.toplevel.get_widget('menuitem_branch_status')
128
self.menuitem_branch_missing = self.toplevel.get_widget('menuitem_branch_missing_revisions')
129
self.menuitem_branch_conflicts = self.toplevel.get_widget('menuitem_branch_conflicts')
130
self.menuitem_stats = self.toplevel.get_widget('menuitem_stats')
131
self.menuitem_stats_diff = self.toplevel.get_widget('menuitem_stats_diff')
132
self.menuitem_stats_log = self.toplevel.get_widget('menuitem_stats_log')
133
# Get some toolbuttons
134
#self.menutoolbutton_diff = self.toplevel.get_widget('menutoolbutton_diff')
135
self.toolbutton_diff = self.toplevel.get_widget('toolbutton_diff')
136
self.toolbutton_log = self.toplevel.get_widget('toolbutton_log')
137
self.toolbutton_commit = self.toplevel.get_widget('toolbutton_commit')
138
self.toolbutton_pull = self.toplevel.get_widget('toolbutton_pull')
139
self.toolbutton_push = self.toplevel.get_widget('toolbutton_push')
140
self.toolbutton_update = self.toplevel.get_widget('toolbutton_update')
97
self.context_id = self.window.statusbar.get_context_id('olive')
100
self.treeview_left = self.window.treeview_left
101
self.treeview_right = self.window.treeview_right
141
103
# Get the drive selector
142
104
self.combobox_drive = gtk.combo_box_new_text()
143
105
self.combobox_drive.connect("changed", self._refresh_drives)
145
107
# Get the navigation widgets
146
self.hbox_location = self.toplevel.get_widget('hbox_location')
147
self.button_location_up = self.toplevel.get_widget('button_location_up')
148
self.button_location_jump = self.toplevel.get_widget('button_location_jump')
149
self.entry_location = self.toplevel.get_widget('entry_location')
150
self.image_location_error = self.toplevel.get_widget('image_location_error')
108
self.hbox_location = self.window.locationbar
109
self.button_location_up = self.window.button_location_up
110
self.button_location_jump = self.window.button_location_jump
111
self.entry_location = self.window.entry_location
112
self.image_location_error = self.window.image_location_error
152
114
# Get the History widgets
153
self.check_history = self.toplevel.get_widget('checkbutton_history')
154
self.entry_history = self.toplevel.get_widget('entry_history_revno')
155
self.button_history = self.toplevel.get_widget('button_history_browse')
157
self.vbox_main_right = self.toplevel.get_widget('vbox_main_right')
159
# Dictionary for signal_autoconnect
160
dic = { "on_window_main_destroy": gtk.main_quit,
161
"on_window_main_delete_event": self.on_window_main_delete_event,
162
"on_quit_activate": self.on_window_main_delete_event,
163
"on_about_activate": self.on_about_activate,
164
"on_menuitem_add_files_activate": self.on_menuitem_add_files_activate,
165
"on_menuitem_remove_file_activate": self.on_menuitem_remove_file_activate,
166
"on_menuitem_file_bookmark_activate": self.on_menuitem_file_bookmark_activate,
167
"on_menuitem_file_make_directory_activate": self.on_menuitem_file_make_directory_activate,
168
"on_menuitem_file_move_activate": self.on_menuitem_file_move_activate,
169
"on_menuitem_file_rename_activate": self.on_menuitem_file_rename_activate,
170
"on_menuitem_file_annotate_activate": self.on_menuitem_file_annotate_activate,
171
"on_menuitem_view_show_hidden_files_activate": self.on_menuitem_view_show_hidden_files_activate,
172
"on_menuitem_view_show_ignored_files_activate": self.on_menuitem_view_show_ignored_files_activate,
173
"on_menuitem_view_refresh_activate": self.on_menuitem_view_refresh_activate,
174
"on_menuitem_branch_initialize_activate": self.on_menuitem_branch_initialize_activate,
175
"on_menuitem_branch_get_activate": self.on_menuitem_branch_get_activate,
176
"on_menuitem_branch_checkout_activate": self.on_menuitem_branch_checkout_activate,
177
"on_menuitem_branch_revert_activate": self.on_menuitem_branch_revert_activate,
178
"on_menuitem_branch_merge_activate": self.on_menuitem_branch_merge_activate,
179
"on_menuitem_branch_commit_activate": self.on_menuitem_branch_commit_activate,
180
"on_menuitem_branch_push_activate": self.on_menuitem_branch_push_activate,
181
"on_menuitem_branch_pull_activate": self.on_menuitem_branch_pull_activate,
182
"on_menuitem_branch_update_activate": self.on_menuitem_branch_update_activate,
183
"on_menuitem_branch_tags_activate": self.on_menuitem_branch_tags_activate,
184
"on_menuitem_branch_status_activate": self.on_menuitem_branch_status_activate,
185
"on_menuitem_branch_missing_revisions_activate": self.on_menuitem_branch_missing_revisions_activate,
186
"on_menuitem_branch_conflicts_activate": self.on_menuitem_branch_conflicts_activate,
187
"on_menuitem_stats_diff_activate": self.on_menuitem_stats_diff_activate,
188
"on_menuitem_stats_log_activate": self.on_menuitem_stats_log_activate,
189
"on_menuitem_stats_infos_activate": self.on_menuitem_stats_infos_activate,
190
"on_toolbutton_refresh_clicked": self.on_menuitem_view_refresh_activate,
191
"on_toolbutton_log_clicked": self.on_menuitem_stats_log_activate,
192
#"on_menutoolbutton_diff_clicked": self.on_menuitem_stats_diff_activate,
193
"on_toolbutton_diff_clicked": self.on_menuitem_stats_diff_activate,
194
"on_toolbutton_commit_clicked": self.on_menuitem_branch_commit_activate,
195
"on_toolbutton_pull_clicked": self.on_menuitem_branch_pull_activate,
196
"on_toolbutton_push_clicked": self.on_menuitem_branch_push_activate,
197
"on_toolbutton_update_clicked": self.on_menuitem_branch_update_activate,
198
"on_treeview_right_button_press_event": self.on_treeview_right_button_press_event,
199
"on_treeview_right_row_activated": self.on_treeview_right_row_activated,
200
"on_treeview_left_button_press_event": self.on_treeview_left_button_press_event,
201
"on_treeview_left_button_release_event": self.on_treeview_left_button_release_event,
202
"on_treeview_left_row_activated": self.on_treeview_left_row_activated,
203
"on_button_location_up_clicked": self.on_button_location_up_clicked,
204
"on_button_location_jump_clicked": self.on_button_location_jump_clicked,
205
"on_entry_location_key_press_event": self.on_entry_location_key_press_event,
206
"on_checkbutton_history_toggled": self.on_checkbutton_history_toggled,
207
"on_entry_history_revno_key_press_event": self.on_entry_history_revno_key_press_event,
208
"on_button_history_browse_clicked": self.on_button_history_browse_clicked
211
# Connect the signals to the handlers
212
self.toplevel.signal_autoconnect(dic)
115
self.check_history = self.window.checkbutton_history
116
self.entry_history = self.window.entry_history_revno
117
self.button_history = self.window.button_history_browse
214
119
self._just_started = True
1160
1060
def set_statusbar(self, message):
1161
1061
""" Set the statusbar message. """
1162
self.statusbar.push(self.context_id, message)
1062
self.window.statusbar.push(self.context_id, message)
1164
1064
def clear_statusbar(self):
1165
1065
""" Clean the last message from the statusbar. """
1166
self.statusbar.pop(self.context_id)
1066
self.window.statusbar.pop(self.context_id)
1168
1068
def set_sensitivity(self):
1169
1069
""" Set menu and toolbar sensitivity. """
1170
1070
if not self.remote:
1172
self.menuitem_branch_init.set_sensitive(self.notbranch)
1173
self.menuitem_branch_get.set_sensitive(self.notbranch)
1174
self.menuitem_branch_checkout.set_sensitive(self.notbranch)
1175
self.menuitem_branch_pull.set_sensitive(not self.notbranch)
1176
self.menuitem_branch_push.set_sensitive(not self.notbranch)
1177
self.menuitem_branch_update.set_sensitive(not self.notbranch)
1178
self.menuitem_branch_revert.set_sensitive(not self.notbranch)
1179
self.menuitem_branch_merge.set_sensitive(not self.notbranch)
1180
self.menuitem_branch_commit.set_sensitive(not self.notbranch)
1181
self.menuitem_branch_tags.set_sensitive(not self.notbranch)
1182
self.menuitem_branch_status.set_sensitive(not self.notbranch)
1183
self.menuitem_branch_missing.set_sensitive(not self.notbranch)
1184
self.menuitem_branch_conflicts.set_sensitive(not self.notbranch)
1185
self.menuitem_stats.set_sensitive(not self.notbranch)
1186
self.menuitem_stats_diff.set_sensitive(not self.notbranch)
1187
self.menuitem_add_files.set_sensitive(not self.notbranch)
1188
self.menuitem_remove_files.set_sensitive(not self.notbranch)
1189
self.menuitem_file_make_directory.set_sensitive(not self.notbranch)
1190
self.menuitem_file_rename.set_sensitive(not self.notbranch)
1191
self.menuitem_file_move.set_sensitive(not self.notbranch)
1192
self.menuitem_file_annotate.set_sensitive(not self.notbranch)
1193
#self.menutoolbutton_diff.set_sensitive(True)
1194
self.toolbutton_diff.set_sensitive(not self.notbranch)
1195
self.toolbutton_log.set_sensitive(not self.notbranch)
1196
self.toolbutton_commit.set_sensitive(not self.notbranch)
1197
self.toolbutton_pull.set_sensitive(not self.notbranch)
1198
self.toolbutton_push.set_sensitive(not self.notbranch)
1199
self.toolbutton_update.set_sensitive(not self.notbranch)
1071
self.window.set_view_to_localbranch(self.notbranch)
1202
self.menuitem_branch_init.set_sensitive(False)
1203
self.menuitem_branch_get.set_sensitive(True)
1204
self.menuitem_branch_checkout.set_sensitive(True)
1205
self.menuitem_branch_pull.set_sensitive(False)
1206
self.menuitem_branch_push.set_sensitive(False)
1207
self.menuitem_branch_update.set_sensitive(False)
1208
self.menuitem_branch_revert.set_sensitive(False)
1209
self.menuitem_branch_merge.set_sensitive(False)
1210
self.menuitem_branch_commit.set_sensitive(False)
1211
self.menuitem_branch_tags.set_sensitive(True)
1212
self.menuitem_branch_status.set_sensitive(False)
1213
self.menuitem_branch_missing.set_sensitive(False)
1214
self.menuitem_branch_conflicts.set_sensitive(False)
1215
self.menuitem_stats.set_sensitive(True)
1216
self.menuitem_stats_diff.set_sensitive(False)
1217
self.menuitem_add_files.set_sensitive(False)
1218
self.menuitem_remove_files.set_sensitive(False)
1219
self.menuitem_file_make_directory.set_sensitive(False)
1220
self.menuitem_file_rename.set_sensitive(False)
1221
self.menuitem_file_move.set_sensitive(False)
1222
self.menuitem_file_annotate.set_sensitive(False)
1223
#self.menutoolbutton_diff.set_sensitive(True)
1224
self.toolbutton_diff.set_sensitive(False)
1225
self.toolbutton_log.set_sensitive(True)
1226
self.toolbutton_commit.set_sensitive(False)
1227
self.toolbutton_pull.set_sensitive(False)
1228
self.toolbutton_push.set_sensitive(False)
1229
self.toolbutton_update.set_sensitive(False)
1073
self.window.set_view_to_remotebranch()
1231
1075
def refresh_left(self):
1232
1076
""" Refresh the bookmark list. """