summaryrefslogtreecommitdiff
path: root/src/library/Branch.vala
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2018-05-01 14:34:32 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2018-05-01 14:34:32 +0200
commit49120f48474fc8fdc2448c75d961bc238213cfac (patch)
tree05bcdb95d65a807cf0f1ffffd066c09074b5cf56 /src/library/Branch.vala
parent2492891f112caac6076ce49721d9d5d78a152c3a (diff)
New upstream version 0.28.2upstream/0.28.2
Diffstat (limited to 'src/library/Branch.vala')
-rw-r--r--src/library/Branch.vala147
1 files changed, 0 insertions, 147 deletions
diff --git a/src/library/Branch.vala b/src/library/Branch.vala
deleted file mode 100644
index bab17fc..0000000
--- a/src/library/Branch.vala
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Copyright 2016 Software Freedom Conservancy Inc.
- *
- * This software is licensed under the GNU Lesser General Public License
- * (version 2.1 or later). See the COPYING file in this distribution.
- */
-
-public class Library.Branch : Sidebar.Branch {
- private const string POSITION_DATA = "x-photos-entry-position";
-
- public Library.PhotosEntry photos_entry { get; private set; }
- public Library.FlaggedSidebarEntry flagged_entry { get; private set; }
- public Library.LastImportSidebarEntry last_imported_entry { get; private set; }
- public Library.ImportQueueSidebarEntry import_queue_entry { get; private set; }
- public Library.OfflineSidebarEntry offline_entry { get; private set; }
- public Library.TrashSidebarEntry trash_entry { get; private set; }
-
- // This lists the order of the library items in the sidebar. To re-order, simply move
- // the item in this list to a new position. These numbers should *not* persist anywhere
- // outside the app.
- private enum EntryPosition {
- PHOTOS,
- FLAGGED,
- LAST_IMPORTED,
- IMPORT_QUEUE,
- OFFLINE,
- TRASH
- }
-
- public Branch() {
- base(new Sidebar.Header(_("Library")),
- Sidebar.Branch.Options.STARTUP_OPEN_GROUPING, comparator);
-
- photos_entry = new Library.PhotosEntry();
- trash_entry = new Library.TrashSidebarEntry();
- last_imported_entry = new Library.LastImportSidebarEntry();
- flagged_entry = new Library.FlaggedSidebarEntry();
- offline_entry = new Library.OfflineSidebarEntry();
- import_queue_entry = new Library.ImportQueueSidebarEntry();
-
- insert(photos_entry, EntryPosition.PHOTOS);
- insert(trash_entry, EntryPosition.TRASH);
-
- flagged_entry.visibility_changed.connect(on_flagged_visibility_changed);
- on_flagged_visibility_changed();
-
- last_imported_entry.visibility_changed.connect(on_last_imported_visibility_changed);
- on_last_imported_visibility_changed();
-
- import_queue_entry.visibility_changed.connect(on_import_queue_visibility_changed);
- on_import_queue_visibility_changed();
-
- offline_entry.visibility_changed.connect(on_offline_visibility_changed);
- on_offline_visibility_changed();
- }
-
- private void insert(Sidebar.Entry entry, int position) {
- entry.set_data<int>(POSITION_DATA, position);
- graft(get_root(), entry);
- }
-
- private void on_flagged_visibility_changed() {
- update_entry_visibility(flagged_entry, EntryPosition.FLAGGED);
- }
-
- private void on_last_imported_visibility_changed() {
- update_entry_visibility(last_imported_entry, EntryPosition.LAST_IMPORTED);
- }
-
- private void on_import_queue_visibility_changed() {
- update_entry_visibility(import_queue_entry, EntryPosition.IMPORT_QUEUE);
- }
-
- private void on_offline_visibility_changed() {
- update_entry_visibility(offline_entry, EntryPosition.OFFLINE);
- }
-
- private void update_entry_visibility(Library.HideablePageEntry entry, int position) {
- if (entry.visible) {
- if (!has_entry(entry))
- insert(entry, position);
- } else if (has_entry(entry)) {
- prune(entry);
- }
- }
-
- private static int comparator(Sidebar.Entry a, Sidebar.Entry b) {
- return a.get_data<int>(POSITION_DATA) - b.get_data<int>(POSITION_DATA);
- }
-}
-
-public class Library.PhotosEntry : Sidebar.SimplePageEntry {
-
- public PhotosEntry() {
- }
-
- public override string get_sidebar_name() {
- return _("Photos");
- }
-
- public override string? get_sidebar_icon() {
- return Resources.ICON_PHOTOS;
- }
-
- protected override Page create_page() {
- return new Library.MainPage();
- }
-}
-
-public abstract class Library.HideablePageEntry : Sidebar.SimplePageEntry {
- // container branch should listen to this signal
- public signal void visibility_changed(bool visible);
-
- private bool show_entry = false;
- public bool visible {
- get { return show_entry; }
- set {
- if (value == show_entry)
- return;
-
- show_entry = value;
- visibility_changed(value);
- }
- }
-
- public HideablePageEntry() {
- }
-}
-
-public class Library.MainPage : CollectionPage {
- public const string NAME = _("Library");
-
- public MainPage(ProgressMonitor? monitor = null) {
- base (NAME);
-
- foreach (MediaSourceCollection sources in MediaCollectionRegistry.get_instance().get_all())
- get_view().monitor_source_collection(sources, new CollectionViewManager(this), null, null, monitor);
- }
-
- protected override void get_config_photos_sort(out bool sort_order, out int sort_by) {
- Config.Facade.get_instance().get_library_photos_sort(out sort_order, out sort_by);
- }
-
- protected override void set_config_photos_sort(bool sort_order, int sort_by) {
- Config.Facade.get_instance().set_library_photos_sort(sort_order, sort_by);
- }
-}
-