Class: Alexandria::UI::IconViewManager
- Inherits:
-
Object
- Object
- Alexandria::UI::IconViewManager
show all
- Includes:
- Logging, DragAndDropable, GetText
- Defined in:
- lib/alexandria/ui/iconview.rb
Constant Summary
collapse
- ICON_WIDTH =
60
- ICONS_SORTS =
[
Columns::TITLE, Columns::AUTHORS, Columns::ISBN,
Columns::PUBLISHER, Columns::EDITION, Columns::RATING,
Columns::REDD, Columns::OWN, Columns::WANT
].freeze
DragAndDropable::BADGE_MARKUP
Instance Method Summary
collapse
#setup_view_source_dnd
Methods included from Logging
included, #log
Constructor Details
#initialize(_iconview, parent) ⇒ IconViewManager
Returns a new instance of IconViewManager.
32
33
34
35
36
37
38
39
40
|
# File 'lib/alexandria/ui/iconview.rb', line 32
def initialize(_iconview, parent)
@parent = parent
@iconview = @parent.iconview
@tooltips = IconViewTooltips.new(@iconview)
@iconview_model = @parent.iconview_model
@filtered_model = @parent.filtered_model
@actiongroup = @parent.actiongroup
setup_books_iconview
end
|
Instance Method Details
#setup_books_iconview ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/alexandria/ui/iconview.rb', line 42
def setup_books_iconview
log.info { "setup_books_iconview #{@iconview_model.inspect}" }
@iconview.model = @iconview_model
log.info { "now @iconview.model = #{@iconview.model.inspect}" }
@iconview.selection_mode = :multiple
@iconview.text_column = Columns::TITLE_REDUCED
@iconview.pixbuf_column = Columns::COVER_ICON
@iconview.item_orientation = :vertical
@iconview.row_spacing = 4
@iconview.column_spacing = 16
@iconview.item_width = ICON_WIDTH + 16
@iconview.signal_connect("selection-changed") do
log.debug { "selection-changed" }
@parent.on_books_selection_changed
end
@iconview.signal_connect("item-activated") do
log.debug { "item-activated" }
@actiongroup["Properties"].activate
false
end
setup_view_source_dnd(@iconview) if @iconview.respond_to?(:enable_model_drag_source)
end
|
#setup_books_iconview_sorting ⇒ Object
75
76
77
78
79
80
|
# File 'lib/alexandria/ui/iconview.rb', line 75
def setup_books_iconview_sorting
mode = ICONS_SORTS[@prefs.arrange_icons_mode]
sort = @prefs.reverse_icons ? Gtk::SORT_DESCENDING : Gtk::SORT_ASCENDING
@iconview_model.set_sort_column_id(mode, sort)
@filtered_model.refilter end
|