130
131
self.backend.add_status_changed_handler(self._process_status)
133
# Refresh the Shares every five minutes if needed.
134
self._timer_id = self.startTimer(300000)
136
# pylint: disable=C0103
138
def timerEvent(self, event):
139
"""Update the menu on each iteration."""
142
# pylint: enable=C0103
145
135
def load_menu(self):
146
136
"""Load the content of the menu."""
147
shares_info = yield self.backend.get_shares()
148
shares_info = [share for share in shares_info if not share['accepted']]
149
if shares_info != self._previous_shares:
151
self.context_menu.clear()
153
self.status = self.context_menu.addAction(LOADING)
154
self.status.setEnabled(False)
155
self.status_action = self.context_menu.addAction(PLEASE_WAIT)
156
self.refresh_status()
157
self.context_menu.addSeparator()
159
self.open_u1 = self.context_menu.addAction(OPEN_UBUNTU_ONE)
160
# TODO: Share a file action when the Shares tab is ready in U1-CP
161
self.open_u1_folder = self.context_menu.addAction(
162
OPEN_UBUNTU_ONE_FOLDER)
163
self.go_to_web = self.context_menu.addAction(GO_TO_WEB)
164
self.context_menu.addSeparator()
167
self._previous_shares = shares_info
169
for share in self._previous_shares:
173
text = NEW_SHARE_BY % share['other_visible_name']
174
share_action = SharesAction(text, share['volume_id'],
176
self.context_menu.addAction(share_action)
177
if self._previous_shares:
178
self.context_menu.addSeparator()
181
self.transfers = TransfersMenu(self)
182
self.context_menu.addMenu(self.transfers)
184
self.get_more_storage = self.context_menu.addAction(
186
self.get_help_online = self.context_menu.addAction(GET_HELP_ONLINE)
187
self.quit = self.context_menu.addAction("Quit")
189
self.setContextMenu(self.context_menu)
192
self.status_action.triggered.connect(self.change_status)
193
self.open_u1.triggered.connect(self.restore_window)
194
self.open_u1_folder.triggered.connect(self.open_u1_folder_action)
195
self.get_more_storage.triggered.connect(
196
self.get_more_storage_action)
197
self.go_to_web.triggered.connect(self.go_to_web_action)
198
self.get_help_online.triggered.connect(self.get_help_action)
199
self.quit.triggered.connect(self.stop)
201
self._get_volumes_info()
138
self.context_menu.clear()
140
self.status = self.context_menu.addAction(LOADING)
141
self.status.setEnabled(False)
142
self.status_action = self.context_menu.addAction(PLEASE_WAIT)
143
self.refresh_status()
144
self.context_menu.addSeparator()
146
self.open_u1 = self.context_menu.addAction(OPEN_UBUNTU_ONE)
147
self.share_a_file = self.context_menu.addAction(SHARE_A_FILE)
148
self.open_u1_folder = self.context_menu.addAction(
149
OPEN_UBUNTU_ONE_FOLDER)
150
self.go_to_web = self.context_menu.addAction(GO_TO_WEB)
151
self.context_menu.addSeparator()
154
self.transfers = TransfersMenu(self)
155
self.context_menu.addMenu(self.transfers)
157
self.get_more_storage = self.context_menu.addAction(
159
self.get_help_online = self.context_menu.addAction(GET_HELP_ONLINE)
160
self.quit = self.context_menu.addAction("Quit")
162
self.setContextMenu(self.context_menu)
165
self.status_action.triggered.connect(self.change_status)
166
self.open_u1.triggered.connect(self.restore_window)
167
self.share_a_file.triggered.connect(self.open_share_tab)
168
self.open_u1_folder.triggered.connect(self.open_u1_folder_action)
169
self.get_more_storage.triggered.connect(
170
self.get_more_storage_action)
171
self.go_to_web.triggered.connect(self.go_to_web_action)
172
self.get_help_online.triggered.connect(self.get_help_action)
173
self.quit.triggered.connect(self.stop)
175
self._get_volumes_info()
204
178
def refresh_status(self):