Functions for Wants list context menu.
This commit is contained in:
@@ -294,6 +294,12 @@ class Application:
|
||||
out = {card.multiverse_id: card for card in self.wants[list_name]}
|
||||
return out
|
||||
|
||||
def delete_wants_list(self, name: str):
|
||||
del self.wants[name]
|
||||
util.log("Deleted Wants List '{}'".format(name), util.LogLevel.Info)
|
||||
self.push_status("Deleted Wants List '{}'".format(name))
|
||||
self.unsaved_changes = True
|
||||
|
||||
def rename_want_list(self, old, new):
|
||||
self.wants[new] = self.wants[old]
|
||||
del self.wants[old]
|
||||
@@ -328,6 +334,11 @@ class Application:
|
||||
self.push_status(card.name + " removed from library")
|
||||
self.unsaved_changes = True
|
||||
|
||||
def remove_card_from_want_list(self, card: mtgsdk.Card, list: str):
|
||||
l = self.wants[list]
|
||||
l.remove(card)
|
||||
util.log("Removed '{}' from wants list '{}'".format(card.name, list), util.LogLevel.Info)
|
||||
|
||||
def get_card_image(self, card, sizex, sizey):
|
||||
# Try using file from local cache, or load online
|
||||
try:
|
||||
|
||||
@@ -272,8 +272,6 @@ class Handlers:
|
||||
if event.button == 3: # right click
|
||||
path = treeview.get_path_at_pos(int(event.x), int(event.y))
|
||||
if path:
|
||||
tree_iter = treeview.get_model().get_iter(path[0])
|
||||
tag = treeview.get_model().get_value(tree_iter, 0)
|
||||
self.app.ui.get_object("wants_wantsListPopup").popup(None, None, None, None, 0, event.time)
|
||||
return True
|
||||
|
||||
@@ -287,17 +285,49 @@ class Handlers:
|
||||
self.app.rename_want_list(tag, new_name)
|
||||
self.app.current_page.emit('show')
|
||||
|
||||
def do_delete_wants_list(self, menu_item):
|
||||
# TODO
|
||||
pass
|
||||
def do_delete_wants_list(self, tree):
|
||||
(model, pathlist) = tree.get_selection().get_selected_rows()
|
||||
for path in pathlist:
|
||||
tree_iter = model.get_iter(path)
|
||||
name = model.get_value(tree_iter, 0)
|
||||
|
||||
self.app.delete_wants_list(name)
|
||||
self.app.current_page.emit('show')
|
||||
|
||||
def on_want_cards_add_activated(self, menu_item):
|
||||
# TODO
|
||||
pass
|
||||
# Get selected cards
|
||||
tree = self.app.ui.get_object("wantsListContainer").get_child()
|
||||
selected = tree.get_selected_cards()
|
||||
|
||||
# Get selected list
|
||||
list_tree = self.app.ui.get_object("wantsListsTree")
|
||||
(model, pathlist) = list_tree.get_selection().get_selected_rows()
|
||||
for path in pathlist:
|
||||
tree_iter = model.get_iter(path)
|
||||
list_name = model.get_value(tree_iter, 0)
|
||||
|
||||
for card in selected.values():
|
||||
self.app.add_card_to_lib(card)
|
||||
self.app.remove_card_from_want_list(card, list_name)
|
||||
|
||||
wants_funct.reload_wants_view(self.app, list_name)
|
||||
|
||||
def on_want_cards_remove_activated(self, menu_item):
|
||||
# TODO
|
||||
pass
|
||||
# Get selected cards
|
||||
tree = self.app.ui.get_object("wantsListContainer").get_child()
|
||||
selected = tree.get_selected_cards()
|
||||
|
||||
# Get selected list
|
||||
list_tree = self.app.ui.get_object("wantsListsTree")
|
||||
(model, pathlist) = list_tree.get_selection().get_selected_rows()
|
||||
for path in pathlist:
|
||||
tree_iter = model.get_iter(path)
|
||||
list_name = model.get_value(tree_iter, 0)
|
||||
|
||||
for card in selected.values():
|
||||
self.app.remove_card_from_want_list(card, list_name)
|
||||
|
||||
wants_funct.reload_wants_view(self.app, list_name)
|
||||
|
||||
# Handlers for TreeViews etc. which have been not added by Glade
|
||||
|
||||
|
||||
@@ -7,12 +7,11 @@ from urllib import request
|
||||
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import GdkPixbuf
|
||||
from gi.repository import GdkPixbuf, GLib
|
||||
import six.moves.cPickle as pickle
|
||||
from PIL import Image as PImage
|
||||
|
||||
from mtgsdk import Set
|
||||
from mtgsdk import Card
|
||||
from mtgsdk import MtgException
|
||||
|
||||
# Title of the Program Window
|
||||
@@ -130,6 +129,8 @@ def reload_image_cache(path: str) -> dict:
|
||||
cache[imagename] = pixbuf
|
||||
except OSError as err:
|
||||
log("Error loading image: " + str(err), LogLevel.Error)
|
||||
except GLib.GError as err:
|
||||
log("Error loading image: " + str(err), LogLevel.Error)
|
||||
return cache
|
||||
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ def reload_wants_view(app: 'application.Application', selected_list: str = None)
|
||||
label = app.ui.get_object("wantsTileLabel") # type: Gtk.Label
|
||||
label.set_markup("<big>" + str(selected_list) + "</big>")
|
||||
|
||||
|
||||
def reload_wants_list(app: 'application.Application', preserve=False):
|
||||
tree = app.ui.get_object("wantsListsTree")
|
||||
(path, column) = tree.get_cursor()
|
||||
|
||||
Reference in New Issue
Block a user