MCPcopy
hub / github.com/Sathvik-Rao/ClipCascade / create_menu

Method create_menu

ClipCascade_Desktop/src/cli/tray.py:119–177  ·  view source on GitHub ↗
(self, item_: tuple = None)

Source from the content-addressed store, hash-verified

117 print("╚" + "═" * (max_width + 6) + "╝")
118
119 def create_menu(self, item_: tuple = None):
120 # Menu items
121 menu_items = [
122 "", # Menu Separator
123 ("🗒️ Open Logs", self._open_logs),
124 ("📂 Program Files", self._open_program_location),
125 "", # Menu Separator
126 ("🏠 Homepage", self._open_homepage),
127 ("❓ Help", self._open_help),
128 ("💟 Donate", self._open_donate),
129 ("🌐 GitHub", self._open_github),
130 "", # Menu Separator
131 ("🔒 Logoff and Quit", self._on_logoff),
132 ("❌ Quit", self._on_quit),
133 ]
134
135 # Add connect/disconnect option (top of the menu - 0 index)
136 if not self.is_connected:
137 menu_items.insert(0, ("🔗 Connect", self._on_connect))
138 else:
139 if self.is_disconnecting and self.disconnecting_items is not None:
140 menu_items.insert(
141 self.disconnecting_items[1],
142 (self.disconnecting_items[0], self.disconnecting_items[2]),
143 )
144 else:
145 menu_items.insert(0, ("⛓️‍💥 Disconnect", self._on_disconnect))
146
147 # Add update option (before the last 3 items)
148 if self.new_version_available is not None and self.new_version_available[0]:
149 menu_items.insert(
150 len(menu_items) - 3,
151 (
152 f"🔄 Update ({self.new_version_available[2]} ➞ {self.new_version_available[1]})",
153 self._on_update,
154 ),
155 )
156
157 # Add files download option (top of the menu - 0 index)
158 if self.is_file_download_enabled and self.file_download_items is not None:
159 menu_items.insert(
160 self.file_download_items[1],
161 (self.file_download_items[0], self.file_download_items[2]),
162 )
163
164 # Add stats option (top of the menu - 0 index)
165 if self.previous_stats_items is not None:
166 menu_items.insert(
167 self.previous_stats_items[1],
168 (self.previous_stats_items[0], self.previous_stats_items[2]),
169 )
170
171 # Create numbered menu
172 counter = count(1)
173 numbered_menu = {
174 next(counter): item for item in menu_items if isinstance(item, tuple)
175 }
176

Callers 2

runMethod · 0.95
update_menuMethod · 0.95

Calls 1

nextFunction · 0.85

Tested by

no test coverage detected