Add menu entries to delete local data.
This commit is contained in:
@@ -387,6 +387,12 @@ class Application:
|
||||
self.set_online(True)
|
||||
util.log("Done", util.LogLevel.Info)
|
||||
|
||||
def db_delete_user_data(self):
|
||||
"""Delete all user data"""
|
||||
util.log("Clearing all user data", util.LogLevel.Info)
|
||||
self.db.db_clear_data_user()
|
||||
util.log("Done", util.LogLevel.Info)
|
||||
|
||||
def get_all_sets(self) -> dict:
|
||||
if not self.is_online():
|
||||
l = self.db.set_get_all()
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<object class="GtkMenuItem" id="Main">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">_Main</property>
|
||||
<property name="label" translatable="yes">_Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu" id="mainMenu">
|
||||
@@ -38,6 +38,7 @@
|
||||
<property name="label">gtk-save</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Save library to disk</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="do_save_library" swapped="no"/>
|
||||
@@ -54,7 +55,7 @@
|
||||
<object class="GtkMenuItem" id="exportLibrary">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Export Library</property>
|
||||
<property name="label" translatable="yes">Export Library Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="do_export_library" swapped="no"/>
|
||||
</object>
|
||||
@@ -63,7 +64,7 @@
|
||||
<object class="GtkMenuItem" id="importLibrary">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Import Library</property>
|
||||
<property name="label" translatable="yes">Import Library Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="do_import_library" swapped="no"/>
|
||||
</object>
|
||||
@@ -78,11 +79,44 @@
|
||||
<object class="GtkMenuItem" id="main_load_data">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Download card data to hard drive</property>
|
||||
<property name="label" translatable="yes">Download Card Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="do_download_card_data" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Clear Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="main_clr_usr_data">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Clear User Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="do_card_data_user" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="main_clr_crd_data">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Clear Card Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="do_card_data_card" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem">
|
||||
<property name="visible">True</property>
|
||||
@@ -171,52 +205,6 @@
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="debug">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">DEBUG</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuItem">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Clear DB Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<child type="submenu">
|
||||
<object class="GtkMenu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="del_data">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Clear Library Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="do_clear_data" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="del_cards">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Clear Card Data</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="do_clear_card_data" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
||||
@@ -75,6 +75,29 @@ class Handlers(SearchHandlers, LibraryHandlers, WantsHandlers):
|
||||
self.app.current_page.emit('show')
|
||||
dialog.destroy()
|
||||
|
||||
def do_card_data_user(self, menu_item):
|
||||
"""
|
||||
Handler for Clear User Data menu item.
|
||||
"""
|
||||
response = self.app.show_dialog_yn("Deleting All User Data", "You are about to delete all data in the "
|
||||
"library.\nThis can not be undone.\nProceed?")
|
||||
if response == Gtk.ResponseType.YES:
|
||||
util.log("Deleting all local card data", util.LogLevel.Info)
|
||||
self.app.db_delete_user_data()
|
||||
util.log("Done", util.LogLevel.Info)
|
||||
self.app.push_status("Library deleted")
|
||||
|
||||
def do_card_data_card(self, item):
|
||||
"""Handler for Clear Card Data menu item"""
|
||||
response = self.app.show_dialog_yn("Deleting All Card Data", "You are about to delete all local card data.\n"
|
||||
"Further searches will use the internet to search "
|
||||
"for cards.\nProceed?")
|
||||
if response == Gtk.ResponseType.YES:
|
||||
util.log("Deleting all library data", util.LogLevel.Info)
|
||||
self.app.db_delete_card_data()
|
||||
util.log("Done", util.LogLevel.Info)
|
||||
self.app.push_status("Local card data deleted. Switching to online mode.")
|
||||
|
||||
def on_view_changed(self, item):
|
||||
if item.get_active():
|
||||
container = self.app.ui.get_object("contentPage")
|
||||
@@ -158,6 +181,11 @@ class Handlers(SearchHandlers, LibraryHandlers, WantsHandlers):
|
||||
|
||||
# Download from mtgjson.com
|
||||
GObject.idle_add(self.load_show_insert_ui, "Downloading...")
|
||||
|
||||
# Waiting in case a canceled thread is still running.
|
||||
while self.cancel_token:
|
||||
continue
|
||||
|
||||
util.log("Starting download", util.LogLevel.Info)
|
||||
s = time.time()
|
||||
all_json = util.net_all_cards_mtgjson()
|
||||
@@ -173,7 +201,7 @@ class Handlers(SearchHandlers, LibraryHandlers, WantsHandlers):
|
||||
GObject.idle_add(self.load_show_insert_ui, "Saving data to disk...")
|
||||
util.log("Saving to sqlite", util.LogLevel.Info)
|
||||
s = time.time()
|
||||
self.app.db.db_insert_data_card(all_json)
|
||||
GObject.idle_add(self.app.db.db_insert_data_card, all_json)
|
||||
e = time.time()
|
||||
util.log("Finished in {}s".format(round(e - s, 3)), util.LogLevel.Info)
|
||||
|
||||
@@ -231,16 +259,3 @@ class Handlers(SearchHandlers, LibraryHandlers, WantsHandlers):
|
||||
self.app.ui.get_object("dl_spinner").set_visible(True)
|
||||
self.app.ui.get_object("dl_progress_bar").set_visible(False)
|
||||
self.app.ui.get_object("dl_progress_label").set_visible(False)
|
||||
|
||||
# ---------------------- Debug actions -------------------------------
|
||||
|
||||
def do_clear_card_data(self, menu_item):
|
||||
util.log("Deleting all local card data", util.LogLevel.Info)
|
||||
self.app.db.db_clear_data_card()
|
||||
self.app.set_online(True)
|
||||
util.log("Done", util.LogLevel.Info)
|
||||
|
||||
def do_clear_data(self, item):
|
||||
util.log("Deleting all library data", util.LogLevel.Info)
|
||||
self.app.db.db_clear_data_user()
|
||||
util.log("Done", util.LogLevel.Info)
|
||||
|
||||
Reference in New Issue
Block a user