Disable Deck View option and json export.

This commit is contained in:
luxick
2017-10-19 13:27:16 +02:00
parent 7bbfc843b0
commit d7bc225df3
5 changed files with 171 additions and 42 deletions

View File

@@ -42,7 +42,6 @@ class Application:
self.pages = {
"search": self.ui.get_object("searchView"),
"library": self.ui.get_object("libraryView"),
"decks": not_found,
"wants": self.ui.get_object("wantsView")
}

View File

@@ -2,6 +2,132 @@
<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkTreeStore" id="export_treestore">
<columns>
<!-- column-name check -->
<column type="gboolean"/>
<!-- column-name visible -->
<column type="gboolean"/>
<!-- column-name element -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkDialog" id="export_dialog">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Export Data</property>
<property name="modal">True</property>
<property name="default_width">320</property>
<property name="default_height">260</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">4</property>
<child internal-child="action_area">
<object class="GtkButtonBox">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="export_ok">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="export_cancel">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Choose what to export</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkTreeView" id="export_sel_tree">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">export_treestore</property>
<property name="headers_clickable">False</property>
<property name="enable_search">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="export_col_check">
<property name="min_width">30</property>
<child>
<object class="GtkCellRendererToggle">
<signal name="toggled" handler="export_cell_toggled" swapped="no"/>
</object>
<attributes>
<attribute name="visible">1</attribute>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="export_col_element">
<property name="title" translatable="yes">Element</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<action-widgets>
<action-widget response="-5">export_ok</action-widget>
<action-widget response="-6">export_cancel</action-widget>
</action-widgets>
<child>
<placeholder/>
</child>
</object>
<object class="GtkDialog" id="loadDataDialog">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Download</property>
@@ -314,12 +440,6 @@
<property name="top_attach">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">0</property>
@@ -360,24 +480,12 @@
<property name="width">2</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<!-- Generated with glade 3.20.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkWindow" id="mainWindow">
@@ -57,7 +57,7 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes">Export Library Data</property>
<property name="use_underline">True</property>
<signal name="activate" handler="do_export_json" swapped="no"/>
<signal name="activate" handler="do_export_library" swapped="no"/>
</object>
</child>
<child>
@@ -174,20 +174,6 @@
<accelerator key="2" signal="activate" modifiers="GDK_CONTROL_MASK"/>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="decksViewItem">
<property name="name">decks</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Decks</property>
<property name="use_underline">True</property>
<property name="draw_as_radio">True</property>
<property name="group">searchViewItem</property>
<signal name="activate" handler="on_view_changed" swapped="no"/>
<accelerator key="3" signal="activate" modifiers="GDK_CONTROL_MASK"/>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="wantsViewItem">
<property name="name">wants</property>
@@ -198,7 +184,7 @@
<property name="draw_as_radio">True</property>
<property name="group">searchViewItem</property>
<signal name="activate" handler="on_view_changed" swapped="no"/>
<accelerator key="4" signal="activate" modifiers="GDK_CONTROL_MASK"/>
<accelerator key="3" signal="activate" modifiers="GDK_CONTROL_MASK"/>
</object>
</child>
</object>

View File

@@ -51,14 +51,49 @@ class Handlers(SearchHandlers, LibraryHandlers, WantsHandlers):
dialog.destroy()
def export_cell_toggled(self, widget, pos):
model = self.app.ui.get_object("export_treestore")
iter = model.get_iter(pos)
model.set_value(iter, 0, not widget.get_active())
if len(pos.split(":")) > 1:
# A child node has been clicked
pass
def do_export_json(self, item):
"""
Export user data to file
Called By: Export menu item
"""
response = self.app.show_dialog_yn("Temoprary Dialog", "[Choose data to export here]")
if response == Gtk.ResponseType.NO:
return
# dialog = self.app.ui.get_object("export_dialog")
# dialog.set_transient_for(self.app.ui.get_object("mainWindow"))
#
# store = self.app.ui.get_object("export_treestore") # type: Gtk.TreeStore
# store.clear()
# store.append(None, [True, False, "Library"])
# store.append(None, [True, False, "Decks"])
# store.append(None, [True, False, "Wants Lists"])
#
# lib_iter = store.get_iter_first()
# deck_iter = store.iter_next(lib_iter)
# wants_iter = store.iter_next(deck_iter)
#
# store.append(lib_iter, [True, True, "Untagged Cards"])
# for tag in self.app.tags.keys():
# store.append(lib_iter, [True, True, tag])
#
# for name in self.app.wants.keys():
# store.append(wants_iter, [True, True, name])
#
# self.app.ui.get_object("export_sel_tree").expand_all()
#
# response = dialog.run()
# dialog.hide()
#
# if not response == Gtk.ResponseType.OK:
# return
# TODO Read treemodel to select witch parts to export
dialog = Gtk.FileChooserDialog("Export Library", self.app.ui.get_object("mainWindow"),
Gtk.FileChooserAction.SAVE,

View File

@@ -1,11 +1,12 @@
import gi
import time
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from urllib.error import URLError, HTTPError
from mtgsdk import Card
from cardvault import application, cardlist, util
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class SearchHandlers:
def __init__(self, app: 'application.Application'):