[shotwell/wip/gtk4: 11/88] vala compiles
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [shotwell/wip/gtk4: 11/88] vala compiles
- Date: Mon, 30 May 2022 17:34:42 +0000 (UTC)
commit 3a441bd79d37e9e51cebbb4d4182124ed57ef13a
Author: Jens Georg <mail jensge org>
Date: Sun Apr 3 18:20:18 2022 +0200
vala compiles
data/ui/login_welcome_pane_widget.ui | 40 +----
data/ui/preferences_dialog.ui | 8 +-
data/ui/printing_widget.ui | 6 +-
meson.build | 9 +-
plugins/shotwell-transitions/meson.build | 2 +-
src/.unitize/_DataImportsInternals.vala | 4 +-
src/.unitize/_EditingToolsInternals.vala | 4 +-
src/.unitize/_SidebarInternals.vala | 4 +-
src/AppWindow.vala | 112 ++++++++------
src/CheckerboardLayout.vala | 45 +++---
src/CheckerboardPage.vala | 57 ++++---
src/CollectionPage.vala | 28 ++--
src/Commands.vala | 5 +-
src/Dialogs.vala | 64 ++++----
src/Dimensions.vala | 4 +-
src/MediaPage.vala | 44 +++---
src/MetadataWriter.vala | 2 +-
src/Page.vala | 63 +++++---
src/Photo.vala | 24 ++-
src/PhotoPage.vala | 221 +++++++++++++++-------------
src/Portal.vala | 3 +
src/Printing.vala | 24 ++-
src/Properties.vala | 13 +-
src/Resources.vala | 21 ++-
src/SearchFilter.vala | 164 ++++++++++-----------
src/SinglePhotoPage.vala | 29 ++--
src/SlideshowPage.vala | 31 ++--
src/camera/Camera.vala | 4 +-
src/camera/ImportPage.vala | 49 ++----
src/dialogs/AdjustDateTimeDialog.vala | 66 +++++----
src/dialogs/EntryMultiCompletion.vala | 3 +-
src/dialogs/ExportDialog.vala | 11 +-
src/dialogs/MultiTextEntryDialog.vala | 7 +-
src/dialogs/Preferences.vala | 26 ++--
src/dialogs/ProgressDialog.vala | 23 ++-
src/dialogs/SetBackground.vala | 4 +-
src/dialogs/SetBackgroundSlideshow.vala | 4 +-
src/dialogs/TextEntry.vala | 6 +-
src/dialogs/WelcomeDialog.vala | 42 +++---
src/direct/DirectPhotoPage.vala | 37 +++--
src/direct/DirectWindow.vala | 16 +-
src/events/EventPage.vala | 2 +
src/events/Events.vala | 4 +-
src/events/EventsDirectoryPage.vala | 8 +-
src/library/FlaggedSidebarEntry.vala | 3 +
src/library/ImportQueuePage.vala | 18 +--
src/library/Library.vala | 4 +-
src/library/LibraryWindow.vala | 164 +++++++++++++--------
src/library/TrashSidebarEntry.vala | 2 +
src/main.vala | 12 +-
src/meson.build | 39 +----
src/plugins/ManifestWidget.vala | 30 ++--
src/publishing/PublishingPluginHost.vala | 3 +-
src/publishing/PublishingUI.vala | 32 ++--
src/publishing/StaticMessagePaneWidget.vala | 2 +-
src/searches/SavedSearchDialog.vala | 77 +++++-----
src/searches/Searches.vala | 4 +-
src/sidebar/Entry.vala | 2 +
src/sidebar/Tree.vala | 2 +-
src/tags/Tags.vala | 4 +-
src/util/KeyValueMap.vala | 10 +-
src/util/image.vala | 12 +-
src/util/misc.vala | 8 +-
src/util/system.vala | 2 +-
src/util/ui.vala | 9 +-
src/video-support/Video.vala | 4 +
66 files changed, 922 insertions(+), 864 deletions(-)
---
diff --git a/data/ui/login_welcome_pane_widget.ui b/data/ui/login_welcome_pane_widget.ui
index 82698f47..14c0a42e 100644
--- a/data/ui/login_welcome_pane_widget.ui
+++ b/data/ui/login_welcome_pane_widget.ui
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.0 -->
<interface domain="shotwell">
- <requires lib="gtk+" version="3.18"/>
+ <requires lib="gtk" version="4.0"/>
<template class="PublishingUILoginWelcomePane" parent="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="margin_start">18</property>
<property name="margin_end">18</property>
<property name="margin_top">18</property>
@@ -12,46 +9,23 @@
<property name="orientation">vertical</property>
<child type="center">
<object class="GtkLabel" id="not_logged_in_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="label" comments="This is a placeholder string and may be ignored.">This is populated
from within the code;
changes made here will not display.</property>
- <property name="wrap">True</property>
+ <property name="wrap">1</property>
<property name="max_width_chars">70</property>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
</child>
<child>
- <object class="GtkButtonBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="layout_style">spread</property>
- <child>
+ <object class="GtkBox">
+ <child type="end">
<object class="GtkButton" id="login_button">
<property name="label" translatable="yes">_Log in</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="image_position">top</property>
+ <property name="focusable">1</property>
+ <property name="receives_default">1</property>
+ <property name="use_underline">1</property>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">end</property>
- <property name="position">1</property>
- </packing>
</child>
</template>
</interface>
diff --git a/data/ui/preferences_dialog.ui b/data/ui/preferences_dialog.ui
index f020c974..a28eacf0 100644
--- a/data/ui/preferences_dialog.ui
+++ b/data/ui/preferences_dialog.ui
@@ -37,7 +37,7 @@
<property name="row_spacing">4</property>
<property name="column_spacing">8</property>
<child>
- <object class="GtkFileChooserButton" id="library_dir_button">
+ <object class="GtkButton" id="library_dir_button">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="action">select-folder</property>
@@ -353,7 +353,7 @@
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkRadioButton" id="transparent_checker_radio">
+ <object class="GtkToggleButton" id="transparent_checker_radio">
<property name="label" translatable="yes">Checkered</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -374,7 +374,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkRadioButton" id="transparent_solid_radio">
+ <object class="GtkToggleButton" id="transparent_solid_radio">
<property name="label" translatable="yes">Solid color</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -410,7 +410,7 @@
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="transparent_none_radio">
+ <object class="GtkToggleButton" id="transparent_none_radio">
<property name="label" translatable="yes">None</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
diff --git a/data/ui/printing_widget.ui b/data/ui/printing_widget.ui
index 86f215d7..401156da 100644
--- a/data/ui/printing_widget.ui
+++ b/data/ui/printing_widget.ui
@@ -34,7 +34,7 @@
<property name="column_spacing">6</property>
<property name="row_homogeneous">True</property>
<child>
- <object class="GtkRadioButton" id="standard_size_radio">
+ <object class="GtkToggleButton" id="standard_size_radio">
<property name="label" translatable="yes">Use a _standard size:</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -61,7 +61,7 @@
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="custom_size_radio">
+ <object class="GtkToggleButton" id="custom_size_radio">
<property name="label" translatable="yes">Use a c_ustom size:</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -157,7 +157,7 @@
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="image_per_page_radio">
+ <object class="GtkToggleButton" id="image_per_page_radio">
<property name="label" translatable="yes">_Autosize:</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
diff --git a/meson.build b/meson.build
index 25264663..f32ce93e 100644
--- a/meson.build
+++ b/meson.build
@@ -28,6 +28,7 @@ add_global_arguments(
'--vapidir=@0@'.format(join_paths(meson.current_source_dir(), 'vapi')),
'--enable-checking',
'--enable-experimental',
+ '--enable-deprecated',
],
language : 'vala'
)
@@ -44,7 +45,7 @@ endif
version_h = vcs_tag(command: ['git', 'rev-parse', 'HEAD'], input: 'version.h.in', output: 'version.h',
fallback: '')
version = declare_dependency(sources : version_h, include_directories : include_directories('.'))
-gtk = dependency('gtk+-3.0', version : '>= 3.22')
+gtk = dependency('gtk4', version : '>= 4.4')
gio = dependency('gio-2.0', version: '>= 2.40')
gmodule = dependency('gmodule-2.0', version: '>= 2.40')
gio_unix = dependency('gio-unix-2.0', version: '>= 2.40')
@@ -53,7 +54,6 @@ webkit = dependency('webkit2gtk-4.0', version: '>= 2.26')
soup = dependency('libsoup-2.4')
json_glib = dependency('json-glib-1.0')
xml = dependency('libxml-2.0')
-gdk = dependency('gdk-3.0', version : '>= 3.22')
gdk_pixbuf = dependency('gdk-pixbuf-2.0')
sqlite = dependency('sqlite3', version : '>= 3.5.9')
gstreamer = dependency('gstreamer-1.0', version : '>= 1.0')
@@ -65,8 +65,7 @@ libraw = dependency('libraw', version : '>= 0.13.2')
libexif = dependency('libexif', version : '>= 0.6.16')
unity = dependency('unity', required : false)
secret = dependency('libsecret-1', required: true)
-gdk = [ dependency('gdk-x11-3.0'), dependency('gdk-wayland-3.0') ]
-
+pangocairo = dependency('pangocairo', required: true)
webpdemux = dependency('libwebpdemux')
webp = dependency('libwebp')
@@ -120,7 +119,7 @@ posix = valac.find_library('posix')
subdir('data')
subdir('src')
-subdir('plugins')
+#subdir('plugins')
subdir('po')
subdir('help')
subdir('thumbnailer')
diff --git a/plugins/shotwell-transitions/meson.build b/plugins/shotwell-transitions/meson.build
index 81342926..e016f361 100644
--- a/plugins/shotwell-transitions/meson.build
+++ b/plugins/shotwell-transitions/meson.build
@@ -19,7 +19,7 @@ libm = cc.find_library('m', required : false)
shared_module('shotwell-transitions',
shotwell_transitions_sources + shotwell_transitions_resources,
- dependencies : [gio, gdk_pixbuf, cairo, gtk, gdk, xml, sw_plugin,
+ dependencies : [gio, gdk_pixbuf, cairo, gtk, xml, sw_plugin,
sw_plugin_common_dep, gee, soup, webkit, libm],
vala_args : [
'--gresources', 'org.gnome.Shotwell.Transitions.gresource.xml',
diff --git a/src/.unitize/_DataImportsInternals.vala b/src/.unitize/_DataImportsInternals.vala
index 002b6a7b..238969e0 100644
--- a/src/.unitize/_DataImportsInternals.vala
+++ b/src/.unitize/_DataImportsInternals.vala
@@ -16,14 +16,14 @@ public void init_entry() throws Error {
Unit.init_entry();
- DataImports.init();
+ //DataImports.init();
}
public void terminate_entry() {
if (_unit_init_count == 0 || --_unit_init_count != 0)
return;
- DataImports.terminate();
+ //DataImports.terminate();
Unit.terminate_entry();
}
diff --git a/src/.unitize/_EditingToolsInternals.vala b/src/.unitize/_EditingToolsInternals.vala
index 7b913f64..b06afb74 100644
--- a/src/.unitize/_EditingToolsInternals.vala
+++ b/src/.unitize/_EditingToolsInternals.vala
@@ -16,14 +16,14 @@ public void init_entry() throws Error {
Unit.init_entry();
- EditingTools.init();
+ //EditingTools.init();
}
public void terminate_entry() {
if (_unit_init_count == 0 || --_unit_init_count != 0)
return;
- EditingTools.terminate();
+ //EditingTools.terminate();
Unit.terminate_entry();
}
diff --git a/src/.unitize/_SidebarInternals.vala b/src/.unitize/_SidebarInternals.vala
index 0940c438..2f5a531b 100644
--- a/src/.unitize/_SidebarInternals.vala
+++ b/src/.unitize/_SidebarInternals.vala
@@ -16,14 +16,14 @@ public void init_entry() throws Error {
Unit.init_entry();
- Sidebar.init();
+ //Sidebar.init();
}
public void terminate_entry() {
if (_unit_init_count == 0 || --_unit_init_count != 0)
return;
- Sidebar.terminate();
+ //Sidebar.terminate();
Unit.terminate_entry();
}
diff --git a/src/AppWindow.vala b/src/AppWindow.vala
index 608d1807..eb2e415d 100644
--- a/src/AppWindow.vala
+++ b/src/AppWindow.vala
@@ -10,9 +10,9 @@ public class FullscreenWindow : PageWindow {
public const int TOOLBAR_CHECK_DISMISSAL_MSEC = 500;
private Gtk.Overlay overlay = new Gtk.Overlay();
- private Gtk.Toolbar toolbar = null;
- private Gtk.ToolButton close_button = new Gtk.ToolButton(null, null);
- private Gtk.ToggleToolButton pin_button = new Gtk.ToggleToolButton();
+ private Gtk.Box toolbar = null;
+ private Gtk.Button close_button = new Gtk.Button();
+ private Gtk.ToggleButton pin_button = new Gtk.ToggleButton();
private bool is_toolbar_shown = false;
private bool waiting_for_invoke = false;
private time_t left_toolbar_time = 0;
@@ -32,13 +32,13 @@ public class FullscreenWindow : PageWindow {
const string[] accels = { "F11", null };
Application.set_accels_for_action ("win.LeaveFullscreen", accels);
- set_screen(AppWindow.get_instance().get_screen());
+ //set_screen(AppWindow.get_instance().get_screen());
// Needed so fullscreen will occur on correct monitor in multi-monitor setups
Gdk.Rectangle monitor = get_monitor_geometry();
- move(monitor.x, monitor.y);
+ //move(monitor.x, monitor.y);
- set_border_width(0);
+ //set_border_width(0);
// restore pin state
is_toolbar_dismissal_enabled = Config.Facade.get_instance().get_pin_toolbar_state();
@@ -54,10 +54,10 @@ public class FullscreenWindow : PageWindow {
close_button.set_action_name ("win.LeaveFullscreen");
toolbar = page.get_toolbar();
- toolbar.set_show_arrow(false);
+ //toolbar.set_show_arrow(false);
toolbar.valign = Gtk.Align.END;
toolbar.halign = Gtk.Align.CENTER;
- toolbar.expand = false;
+ //toolbar.expand = false;
toolbar.opacity = Resources.TRANSIENT_WINDOW_OPACITY;
if (page is SlideshowPage) {
@@ -65,16 +65,16 @@ public class FullscreenWindow : PageWindow {
((SlideshowPage) page).hide_toolbar.connect(hide_toolbar);
} else {
// only non-slideshow pages should have pin button
- toolbar.insert(pin_button, -1);
+ toolbar.append(pin_button);
}
page.set_cursor_hide_time(TOOLBAR_DISMISSAL_SEC * 1000);
page.start_cursor_hiding();
- toolbar.insert(close_button, -1);
+ toolbar.append(close_button);
- add(overlay);
- overlay.add(page);
+ set_child(overlay);
+ overlay.set_child(page);
overlay.add_overlay (toolbar);
// call to set_default_size() saves one repaint caused by changing
@@ -84,10 +84,10 @@ public class FullscreenWindow : PageWindow {
// need to create a Gdk.Window to set masks
fullscreen();
- show_all();
+ show();
// capture motion events to show the toolbar
- add_events(Gdk.EventMask.POINTER_MOTION_MASK);
+ //add_events(Gdk.EventMask.POINTER_MOTION_MASK);
// If toolbar is enabled in "normal" ui OR was pinned in
// fullscreen, start off with toolbar invoked, as a clue for the
@@ -115,10 +115,15 @@ public class FullscreenWindow : PageWindow {
}
private Gdk.Rectangle get_monitor_geometry() {
+ #if 0
var monitor = get_display().get_monitor_at_window(AppWindow.get_instance().get_window());
return monitor.get_geometry();
+ #endif
+
+ return Gdk.Rectangle();
}
+ #if 0
public override bool configure_event(Gdk.EventConfigure event) {
bool result = base.configure_event(event);
@@ -145,6 +150,7 @@ public class FullscreenWindow : PageWindow {
// ... then propagate to the underlying window hidden behind this fullscreen one
return AppWindow.get_instance().key_press_event(event);
}
+ #endif
private void on_close() {
Config.Facade.get_instance().set_pin_toolbar_state(is_toolbar_dismissal_enabled);
@@ -157,7 +163,7 @@ public class FullscreenWindow : PageWindow {
on_close();
}
- public override void destroy() {
+ public override void dispose() {
Page? page = get_current_page();
clear_current_page();
@@ -166,16 +172,17 @@ public class FullscreenWindow : PageWindow {
page.switching_from();
}
- base.destroy();
+ base.dispose();
}
- public override bool delete_event(Gdk.EventAny event) {
+ public override bool close_request() {
on_close();
AppWindow.get_instance().destroy();
return true;
}
+ #if 0
public override bool motion_notify_event(Gdk.EventMotion event) {
if (!is_toolbar_shown) {
// if pointer is in toolbar height range without the mouse down (i.e. in the middle of
@@ -189,6 +196,7 @@ public class FullscreenWindow : PageWindow {
return (base.motion_notify_event != null) ? base.motion_notify_event(event) : false;
}
+ #endif
private bool is_pointer_in_toolbar() {
var seat = get_display().get_default_seat();
@@ -198,6 +206,7 @@ public class FullscreenWindow : PageWindow {
return false;
}
+ #if 0
int py;
seat.get_pointer().get_position(null, null, out py);
@@ -205,6 +214,8 @@ public class FullscreenWindow : PageWindow {
toolbar.get_window().get_geometry(null, out wy, null, null);
return (py >= wy);
+ #endif
+ return false;
}
private bool on_check_toolbar_invocation() {
@@ -222,7 +233,7 @@ public class FullscreenWindow : PageWindow {
}
private void invoke_toolbar() {
- toolbar.show_all();
+ toolbar.show();
is_toolbar_shown = true;
@@ -287,9 +298,12 @@ public abstract class PageWindow : Gtk.ApplicationWindow {
Object (application: Application.get_instance().get_system_app ());
// the current page needs to know when modifier keys are pressed
+ #if 0
add_events(Gdk.EventMask.KEY_PRESS_MASK | Gdk.EventMask.KEY_RELEASE_MASK
| Gdk.EventMask.STRUCTURE_MASK);
+ #endif
set_show_menubar (true);
+
}
public Page? get_current_page() {
@@ -317,6 +331,7 @@ public abstract class PageWindow : Gtk.ApplicationWindow {
switched_pages(old_page, null);
}
+ #if 0
public override bool key_press_event(Gdk.EventKey event) {
if (get_focus() is Gtk.Entry && get_focus().key_press_event(event))
return true;
@@ -359,14 +374,13 @@ public abstract class PageWindow : Gtk.ApplicationWindow {
return (base.configure_event != null) ? base.configure_event(event) : false;
}
+ #endif
public void set_busy_cursor() {
if (busy_counter++ > 0)
return;
- var display = get_window ().get_display ();
- var cursor = new Gdk.Cursor.for_display (display, Gdk.CursorType.WATCH);
- get_window().set_cursor (cursor);
+ set_cursor (new Gdk.Cursor.from_name ("wait", null));
}
public void set_normal_cursor() {
@@ -376,10 +390,8 @@ public abstract class PageWindow : Gtk.ApplicationWindow {
} else if (--busy_counter > 0) {
return;
}
-
- var display = get_window ().get_display ();
- var cursor = new Gdk.Cursor.for_display (display, Gdk.CursorType.LEFT_PTR);
- get_window().set_cursor (cursor);
+
+ set_cursor (new Gdk.Cursor.from_name ("default", null));
}
}
@@ -400,7 +412,6 @@ public abstract class AppWindow : PageWindow {
// the AppWindow maintains its own UI manager because the first UIManager an action group is
// added to is the one that claims its accelerators
- protected bool maximized = false;
protected Dimensions dimensions;
protected int pos_x = 0;
protected int pos_y = 0;
@@ -416,16 +427,18 @@ public abstract class AppWindow : PageWindow {
set_default_icon_name("org.gnome.Shotwell");
// restore previous size and maximization state
+
+ bool was_maximized;
if (this is LibraryWindow) {
- Config.Facade.get_instance().get_library_window_state(out maximized, out dimensions);
+ Config.Facade.get_instance().get_library_window_state(out was_maximized, out dimensions);
} else {
assert(this is DirectWindow);
- Config.Facade.get_instance().get_direct_window_state(out maximized, out dimensions);
+ Config.Facade.get_instance().get_direct_window_state(out was_maximized, out dimensions);
}
set_default_size(dimensions.width, dimensions.height);
- if (maximized)
+ if (was_maximized)
maximize();
assert(command_manager == null);
@@ -439,6 +452,8 @@ public abstract class AppWindow : PageWindow {
// with each ActionGroup while we're adding the groups to the UIManager.
add_actions ();
+
+ notify["maximized"].connect(on_maximized);
}
private const GLib.ActionEntry[] common_actions = {
@@ -484,8 +499,8 @@ public abstract class AppWindow : PageWindow {
dialog.set_markup(build_alert_body_text(title, message, should_escape));
dialog.use_markup = true;
- dialog.run();
- dialog.destroy();
+ dialog.show();
+ dialog.response.connect(() => dialog.destroy());
}
public static bool negate_affirm_question(string message, string negative, string affirmative,
@@ -495,9 +510,8 @@ public abstract class AppWindow : PageWindow {
dialog.set_markup(build_alert_body_text(title, message));
dialog.add_buttons(negative, Gtk.ResponseType.NO, affirmative, Gtk.ResponseType.YES);
- dialog.set_urgency_hint(true);
- bool response = (dialog.run() == Gtk.ResponseType.YES);
+ bool response = false; // TODO (dialog.run() == Gtk.ResponseType.YES);
dialog.destroy();
@@ -516,7 +530,7 @@ public abstract class AppWindow : PageWindow {
dialog.set_markup(build_alert_body_text(title, message));
dialog.use_markup = true;
- int response = dialog.run();
+ int response = 0; //dialog.run();
dialog.destroy();
@@ -534,7 +548,9 @@ public abstract class AppWindow : PageWindow {
dialog.add_buttons(affirmative, Gtk.ResponseType.YES, _("_Cancel"),
Gtk.ResponseType.CANCEL);
- int response = dialog.run();
+ dialog.show();
+ //int response = dialog.run();
+ int response = Gtk.ResponseType.OK;
dialog.destroy();
@@ -550,7 +566,7 @@ public abstract class AppWindow : PageWindow {
dialog.add_buttons(negative, Gtk.ResponseType.NO, affirmative, Gtk.ResponseType.YES,
affirmative_all, Gtk.ResponseType.APPLY, _("_Cancel"), Gtk.ResponseType.CANCEL);
- int response = dialog.run();
+ int response = Gtk.ResponseType.CANCEL;//dialog.run();
dialog.destroy();
@@ -630,8 +646,10 @@ public abstract class AppWindow : PageWindow {
}
}
- protected override void destroy() {
+ protected override bool close_request() {
on_quit();
+
+ return false;
}
public void show_file_uri(File file) throws Error {
@@ -639,7 +657,7 @@ public abstract class AppWindow : PageWindow {
}
public void show_uri(string url) throws Error {
- Gtk.show_uri_on_window(this, url, Gdk.CURRENT_TIME);
+ Gtk.show_uri(this, url, Gdk.CURRENT_TIME);
}
protected virtual void add_actions () {
@@ -654,7 +672,7 @@ public abstract class AppWindow : PageWindow {
return;
}
- get_position(out pos_x, out pos_y);
+ //get_position(out pos_x, out pos_y);
hide();
FullscreenWindow fsw = new FullscreenWindow(page);
@@ -670,9 +688,9 @@ public abstract class AppWindow : PageWindow {
if (fullscreen_window == null)
return;
- move(pos_x, pos_y);
+ //move(pos_x, pos_y);
- show_all();
+ show();
if (get_current_page() != null)
get_current_page().returning_from_fullscreen(fullscreen_window);
@@ -858,13 +876,11 @@ public abstract class AppWindow : PageWindow {
page.get_view().unselect_all();
}
- public override bool configure_event(Gdk.EventConfigure event) {
- maximized = (get_window().get_state() == Gdk.WindowState.MAXIMIZED);
-
- if (!maximized)
- get_size(out dimensions.width, out dimensions.height);
-
- return base.configure_event(event);
+ public void on_maximized() {
+ if (!maximized) {
+ dimensions.width = get_size (Gtk.Orientation.HORIZONTAL);
+ dimensions.height = get_size (Gtk.Orientation.VERTICAL);
+ }
}
}
diff --git a/src/CheckerboardLayout.vala b/src/CheckerboardLayout.vala
index 85232f37..e7da76ce 100644
--- a/src/CheckerboardLayout.vala
+++ b/src/CheckerboardLayout.vala
@@ -55,7 +55,7 @@ public class CheckerboardLayout : Gtk.DrawingArea {
private bool flow_scheduled = false;
private bool exposure_dirty = true;
private CheckerboardItem? anchor = null;
- private CheckerboardItem? cursor = null;
+ private CheckerboardItem? current_cursor = null;
private bool in_center_on_anchor = false;
private bool size_allocate_due_to_reflow = false;
private bool is_in_view = false;
@@ -82,6 +82,7 @@ public class CheckerboardLayout : Gtk.DrawingArea {
// CheckerboardItems offer tooltips
has_tooltip = true;
+ set_draw_func (on_draw);
}
~CheckerboardLayout() {
@@ -105,8 +106,10 @@ public class CheckerboardLayout : Gtk.DrawingArea {
if (vadjustment != null)
vadjustment.value_changed.disconnect(on_viewport_shifted);
+ #if 0
if (parent != null)
parent.size_allocate.disconnect(on_viewport_resized);
+ #endif
Config.Facade.get_instance().colors_changed.disconnect(on_colors_changed);
}
@@ -120,7 +123,7 @@ public class CheckerboardLayout : Gtk.DrawingArea {
vadjustment.value_changed.connect(on_viewport_shifted);
// monitor parent's size changes for a similar reason
- parent.size_allocate.connect(on_viewport_resized);
+ //parent.resized.connect(on_viewport_resized);
}
// This method allows for some optimizations to occur in reflow() by using the known max.
@@ -133,7 +136,7 @@ public class CheckerboardLayout : Gtk.DrawingArea {
return scale;
}
- public void set_name(string name) {
+ public new void set_name(string name) {
page_name = name;
}
@@ -224,23 +227,23 @@ public class CheckerboardLayout : Gtk.DrawingArea {
in_center_on_anchor = false;
}
- public void set_cursor(CheckerboardItem item) {
+ public new void set_cursor(CheckerboardItem item) {
Gee.HashSet<DataView> collection = new Gee.HashSet<DataView>();
if (cursor != null) {
- cursor.set_is_cursor(false);
+ current_cursor.set_is_cursor(false);
// Bug #732334, the cursor DataView might have disappeared when user drags a full screen Photo
to another event
- if (view.contains(cursor)) {
- collection.add(cursor);
+ if (view.contains(current_cursor)) {
+ collection.add(current_cursor);
}
}
item.set_is_cursor(true);
- cursor = item;
+ current_cursor = item;
collection.add(item);
on_items_state_changed(collection);
}
- public CheckerboardItem get_cursor() {
- return cursor;
+ public new CheckerboardItem get_cursor() {
+ return current_cursor;
}
@@ -609,12 +612,15 @@ public class CheckerboardLayout : Gtk.DrawingArea {
selection_band = Box.from_points(drag_origin, drag_endpoint).get_rectangle();
// force repaint of the union of the old and new, which covers the band reducing in size
+ #if 0
if (get_window() != null) {
Gdk.Rectangle union;
selection_band.union(old_selection_band, out union);
queue_draw_area(union.x, union.y, union.width, union.height);
}
+ #endif
+ queue_draw();
}
public Gee.List<CheckerboardItem>? items_in_selection_band() {
@@ -1054,7 +1060,8 @@ public class CheckerboardLayout : Gtk.DrawingArea {
debug("items_dirty %s (%s): Queuing draw of dirty area %s on visible_page %s",
page_name, reason, rectangle_to_string(dirty), rectangle_to_string(visible_page));
#endif
- queue_draw_area(dirty.x, dirty.y, dirty.width, dirty.height);
+ //queue_draw_area(dirty.x, dirty.y, dirty.width, dirty.height);
+ queue_draw();
}
}
@@ -1065,6 +1072,7 @@ public class CheckerboardLayout : Gtk.DrawingArea {
}
private void set_colors(bool in_focus = true) {
+ #if 0
// set up selected/unselected colors
var ctx = get_style_context();
ctx.save();
@@ -1082,15 +1090,16 @@ public class CheckerboardLayout : Gtk.DrawingArea {
val = ctx.get_property("color", Gtk.StateFlags.NORMAL);
unselected_color = *(Gdk.RGBA*)val.get_boxed();
ctx.restore();
+ #endif
}
- public override void size_allocate(Gtk.Allocation allocation) {
- base.size_allocate(allocation);
+ public override void size_allocate(int a, int b, int c) {
+ base.size_allocate(a, b, c);
viewport_resized();
}
- public override bool draw(Cairo.Context ctx) {
+ public void on_draw(Gtk.DrawingArea da, Cairo.Context ctx, int width, int height) {
// Note: It's possible for draw to be called when in_view is false; this happens
// when pages are switched prior to switched_to() being called, and some of the other
// controls allow for events to be processed while they are orienting themselves. Since
@@ -1115,12 +1124,8 @@ public class CheckerboardLayout : Gtk.DrawingArea {
border_color, focus_color);
}
- bool result = (base.draw != null) ? base.draw(ctx) : true;
-
// draw the selection band last, so it appears floating over everything else
draw_selection_band(ctx);
-
- return result;
}
private void draw_selection_band(Cairo.Context ctx) {
@@ -1138,7 +1143,7 @@ public class CheckerboardLayout : Gtk.DrawingArea {
visible_page.intersect(selection_band, out visible_band);
get_style_context().save();
- get_style_context().add_class(Gtk.STYLE_CLASS_RUBBERBAND);
+ get_style_context().add_class("rubberband");
// pixelate selection rectangle interior
if (visible_band.width > 1 && visible_band.height > 1) {
get_style_context().render_background(ctx, visible_band.x, visible_band.y, visible_band.width,
visible_band.height);
@@ -1167,6 +1172,7 @@ public class CheckerboardLayout : Gtk.DrawingArea {
queue_draw();
}
+#if 0
public override bool focus_in_event(Gdk.EventFocus event) {
set_colors(true);
items_dirty("focus_in_event", view.get_selected());
@@ -1180,4 +1186,5 @@ public class CheckerboardLayout : Gtk.DrawingArea {
return base.focus_out_event(event);
}
+ #endif
}
diff --git a/src/CheckerboardPage.vala b/src/CheckerboardPage.vala
index 24a252a6..e74f9a8a 100644
--- a/src/CheckerboardPage.vala
+++ b/src/CheckerboardPage.vala
@@ -15,7 +15,7 @@ public abstract class CheckerboardPage : Page {
private string page_context_menu_path = null;
private Gtk.Viewport viewport = new Gtk.Viewport(null, null);
protected CheckerboardItem anchor = null;
- protected CheckerboardItem cursor = null;
+ protected CheckerboardItem current_cursor = null;
private CheckerboardItem current_hovered_item = null;
private bool autoscroll_scheduled = false;
private CheckerboardItem activated_item = null;
@@ -54,19 +54,13 @@ public abstract class CheckerboardPage : Page {
set_event_source(layout);
- set_border_width(0);
- set_shadow_type(Gtk.ShadowType.NONE);
-
- viewport.set_border_width(0);
- viewport.set_shadow_type(Gtk.ShadowType.NONE);
-
- viewport.add(stack);
+ viewport.set_child(stack);
// want to set_adjustments before adding to ScrolledWindow to let our signal handlers
// run first ... otherwise, the thumbnails draw late
layout.set_adjustments(get_hadjustment(), get_vadjustment());
- add(viewport);
+ set_child(viewport);
// need to monitor items going hidden when dealing with anchor/cursor/highlighted items
get_view().items_hidden.connect(on_items_hidden);
@@ -86,41 +80,40 @@ public abstract class CheckerboardPage : Page {
page_context_menu_path = path;
}
- public Gtk.Menu? get_context_menu() {
+ public Gtk.PopoverMenu? get_context_menu() {
// show page context menu if nothing is selected
return (get_view().get_selected_count() != 0) ? get_item_context_menu() :
get_page_context_menu();
}
- private Gtk.Menu item_context_menu;
- public virtual Gtk.Menu? get_item_context_menu() {
+ private Gtk.PopoverMenu item_context_menu;
+ public virtual Gtk.PopoverMenu? get_item_context_menu() {
if (item_context_menu == null) {
var model = this.builder.get_object (item_context_menu_path)
as GLib.MenuModel;
- item_context_menu = new Gtk.Menu.from_model (model);
- item_context_menu.attach_to_widget (this, null);
+ item_context_menu = new Gtk.PopoverMenu.from_model (model);
}
return item_context_menu;
}
- private Gtk.Menu page_context_menu;
- public override Gtk.Menu? get_page_context_menu() {
+ private Gtk.PopoverMenu page_context_menu;
+ public override Gtk.PopoverMenu? get_page_context_menu() {
if (page_context_menu_path == null)
return null;
if (page_context_menu == null) {
var model = this.builder.get_object (page_context_menu_path)
as GLib.MenuModel;
- page_context_menu = new Gtk.Menu.from_model (model);
- page_context_menu.attach_to_widget (this, null);
+ page_context_menu = new Gtk.PopoverMenu.from_model (model);
}
return page_context_menu;
}
protected override bool on_context_keypress() {
- return popup_context_menu(get_context_menu());
+ //return popup_context_menu(get_context_menu());
+ return true;
}
protected virtual string get_view_empty_icon() {
@@ -255,14 +248,15 @@ public abstract class CheckerboardPage : Page {
if (anchor == item)
anchor = null;
- if (cursor == item)
- cursor = null;
+ if (current_cursor == item)
+ current_cursor = null;
if (current_hovered_item == item)
current_hovered_item = null;
}
}
+#if 0
protected override bool key_press_event(Gdk.EventKey event) {
bool handled = true;
@@ -571,6 +565,7 @@ public abstract class CheckerboardPage : Page {
// return true to stop a potential drag-and-drop operation
return true;
}
+ #endif
private void updated_selection_band() {
assert(layout.is_drag_select_active());
@@ -600,8 +595,8 @@ public abstract class CheckerboardPage : Page {
else
to_unselect.mark(item);
- if (cursor == null)
- cursor = item;
+ if (current_cursor == null)
+ current_cursor = item;
}
get_view().select_marked(to_select);
@@ -660,7 +655,7 @@ public abstract class CheckerboardPage : Page {
public void cursor_to_item(CheckerboardItem item) {
assert(get_view().contains(item));
- cursor = item;
+ current_cursor = item;
if (!get_ctrl_pressed()) {
get_view().unselect_all();
@@ -679,7 +674,7 @@ public abstract class CheckerboardPage : Page {
// if there is no better starting point, simply select the first and exit
// The right half of the or is related to Bug #732334, the cursor might be non-null and still not
contained in
// the view, if the user dragged a full screen Photo off screen
- if (cursor == null && layout.get_cursor() == null || cursor != null && !get_view().contains(cursor))
{
+ if (cursor == null && layout.get_cursor() == null || cursor != null &&
!get_view().contains(current_cursor)) {
CheckerboardItem item = layout.get_item_at_coordinate(0, 0);
cursor_to_item(item);
anchor = item;
@@ -688,20 +683,20 @@ public abstract class CheckerboardPage : Page {
}
if (cursor == null) {
- cursor = layout.get_cursor() as CheckerboardItem;
+ current_cursor = layout.get_cursor() as CheckerboardItem;
}
// move the cursor relative to the "first" item
- CheckerboardItem? item = layout.get_item_relative_to(cursor, point);
+ CheckerboardItem? item = layout.get_item_relative_to(current_cursor, point);
if (item != null)
cursor_to_item(item);
}
- public void set_cursor(CheckerboardItem item) {
+ public new void set_cursor(CheckerboardItem item) {
Marker marker = get_view().mark(item);
get_view().select_marked(marker);
- cursor = item;
+ current_cursor = item;
anchor = item;
}
@@ -736,9 +731,9 @@ public abstract class CheckerboardPage : Page {
if (state == Gdk.ModifierType.SHIFT_MASK) {
get_view().unselect_all();
- select_between_items(anchor, cursor);
+ select_between_items(anchor, current_cursor);
} else {
- anchor = cursor;
+ anchor = current_cursor;
}
}
diff --git a/src/CollectionPage.vala b/src/CollectionPage.vala
index ac05f8b8..183c0de1 100644
--- a/src/CollectionPage.vala
+++ b/src/CollectionPage.vala
@@ -37,38 +37,28 @@ public abstract class CollectionPage : MediaPage {
init_item_context_menu("CollectionContextMenu");
init_toolbar("CollectionToolbar");
- show_all();
+ show();
// watch for updates to the external app settings
Config.Facade.get_instance().external_app_changed.connect(on_external_app_changed);
}
- public override Gtk.Toolbar get_toolbar() {
+ public override Gtk.Box get_toolbar() {
if (toolbar == null) {
base.get_toolbar();
- // separator to force slider to right side of toolbar
- Gtk.SeparatorToolItem separator = new Gtk.SeparatorToolItem();
- separator.set_expand(true);
- separator.set_draw(false);
- get_toolbar().insert(separator, -1);
-
- Gtk.SeparatorToolItem drawn_separator = new Gtk.SeparatorToolItem();
- drawn_separator.set_expand(false);
- drawn_separator.set_draw(true);
-
- get_toolbar().insert(drawn_separator, -1);
-
// zoom slider assembly
MediaPage.ZoomSliderAssembly zoom_slider_assembly = create_zoom_slider_assembly();
connect_slider(zoom_slider_assembly);
- get_toolbar().insert(zoom_slider_assembly, -1);
+ get_toolbar().append(zoom_slider_assembly);
- Gtk.ToolButton? rotate_button = this.builder.get_object ("ToolRotate") as Gtk.ToolButton;
+ Gtk.Button? rotate_button = this.builder.get_object ("ToolRotate") as Gtk.Button;
+ #if 0
+ is this even necessary?
unowned Gtk.BindingSet binding_set = Gtk.BindingSet.by_class(rotate_button.get_class());
Gtk.BindingEntry.add_signal(binding_set, Gdk.Key.KP_Space, Gdk.ModifierType.CONTROL_MASK,
"clicked", 0);
Gtk.BindingEntry.add_signal(binding_set, Gdk.Key.space, Gdk.ModifierType.CONTROL_MASK,
"clicked", 0);
-
+#endif
}
return toolbar;
@@ -355,6 +345,7 @@ public abstract class CollectionPage : MediaPage {
}
}
+ #if 0
protected override bool on_app_key_pressed(Gdk.EventKey event) {
bool handled = true;
switch (Gdk.keyval_name(event.keyval)) {
@@ -384,6 +375,7 @@ public abstract class CollectionPage : MediaPage {
return handled ? true : base.on_app_key_pressed(event);
}
+ #endif
protected override void on_export() {
if (exporter != null)
@@ -698,6 +690,7 @@ public abstract class CollectionPage : MediaPage {
photo));
}
+ #if 0
protected override bool on_ctrl_pressed(Gdk.EventKey? event) {
Gtk.ToolButton? rotate_button = this.builder.get_object ("ToolRotate") as Gtk.ToolButton;
if (rotate_button != null) {
@@ -719,6 +712,7 @@ public abstract class CollectionPage : MediaPage {
return base.on_ctrl_released(event);
}
+ #endif
public override SearchViewFilter get_search_view_filter() {
return search_filter;
diff --git a/src/Commands.vala b/src/Commands.vala
index 9825b6de..c6b46212 100644
--- a/src/Commands.vala
+++ b/src/Commands.vala
@@ -864,7 +864,7 @@ public class AdjustColorsMultipleCommand : MultiplePhotoTransformationCommand {
((Photo) source).set_color_adjustments(transformations);
}
}
-
+#if 0
public class RedeyeCommand : GenericPhotoTransformationCommand {
private EditingTools.RedeyeInstance redeye_instance;
@@ -879,6 +879,7 @@ public class RedeyeCommand : GenericPhotoTransformationCommand {
photo.add_redeye_instance(redeye_instance);
}
}
+#endif
public abstract class MovePhotosCommand : Command {
// Piggyback on a private command so that processing to determine new_event can occur before
@@ -2468,7 +2469,7 @@ public class FlagUnflagCommand : MultipleDataSourceAtOnceCommand {
progress_dialog = new ProgressDialog(null,
flag ? FLAG_PROGRESS : UNFLAG_PROGRESS);
- progress_dialog.show_all();
+ progress_dialog.show();
}
}
diff --git a/src/Dialogs.vala b/src/Dialogs.vala
index d123ca37..8c1ace82 100644
--- a/src/Dialogs.vala
+++ b/src/Dialogs.vala
@@ -39,7 +39,10 @@ public bool confirm_warn_developer_changed(int number) {
dialog.add_buttons(Resources.CANCEL_LABEL, Gtk.ResponseType.CANCEL);
dialog.add_buttons(_("_Switch Developer"), Gtk.ResponseType.YES);
- int response = dialog.run();
+ dialog.show();
+ // TODO
+
+ int response = 0; //dialog.run();
dialog.destroy();
@@ -75,14 +78,17 @@ public File? choose_file(string current_file_basename) {
var chooser = new Gtk.FileChooserNative(file_chooser_title,
AppWindow.get_instance(), Gtk.FileChooserAction.SAVE, Resources.SAVE_LABEL, Resources.CANCEL_LABEL);
- chooser.set_do_overwrite_confirmation(true);
- chooser.set_current_folder(current_export_dir.get_path());
+ try {
+ chooser.set_current_folder(current_export_dir);
+ } catch (Error error) {
+ }
chooser.set_current_name(current_file_basename);
- chooser.set_local_only(false);
File file = null;
- if (chooser.run() == Gtk.ResponseType.ACCEPT) {
- file = File.new_for_path(chooser.get_filename());
+ chooser.show();
+ int response = Gtk.ResponseType.OK;
+ if (response == Gtk.ResponseType.ACCEPT) {
+ file = chooser.get_file();
current_export_dir = file.get_parent();
}
chooser.destroy();
@@ -99,13 +105,15 @@ public File? choose_dir(string? user_title = null) {
var chooser = new Gtk.FileChooserNative(user_title,
AppWindow.get_instance(), Gtk.FileChooserAction.SELECT_FOLDER, Resources.OK_LABEL,
Resources.CANCEL_LABEL);
- chooser.set_current_folder(current_export_dir.get_path());
- chooser.set_local_only(false);
+ try {
+ chooser.set_current_folder(current_export_dir);
+ } catch (Error error) {
+ }
File dir = null;
- if (chooser.run() == Gtk.ResponseType.ACCEPT) {
- dir = File.new_for_path(chooser.get_filename());
- current_export_dir = dir;
+ int response = Gtk.ResponseType.CANCEL;
+ if (response == Gtk.ResponseType.ACCEPT) {
+ current_export_dir = chooser.get_file ();
}
chooser.destroy();
@@ -544,10 +552,10 @@ public bool report_manifest(ImportManifest manifest, bool show_dest_id,
ImportUI.SAVE_RESULTS_RESPONSE_ID);
save_results_button.set_visible(manifest.success.size < manifest.all.size);
Gtk.Widget ok_button = dialog.add_button(Resources.OK_LABEL, Gtk.ResponseType.OK);
- dialog.set_default(ok_button);
+ dialog.set_default_widget(ok_button);
Gtk.Window dialog_parent = (Gtk.Window) dialog.get_parent();
- dialog_response = dialog.run();
+ dialog_response = 0; // TODO dialog.run();
dialog.destroy();
if (dialog_response == ImportUI.SAVE_RESULTS_RESPONSE_ID)
@@ -564,12 +572,12 @@ public bool report_manifest(ImportManifest manifest, bool show_dest_id,
save_results_button.set_visible(manifest.success.size < manifest.all.size);
Gtk.Widget no_button = dialog.add_button(question.no_button, Gtk.ResponseType.NO);
dialog.add_button(question.yes_button, Gtk.ResponseType.YES);
- dialog.set_default(no_button);
+ dialog.set_default_widget(no_button);
- dialog_response = dialog.run();
+ dialog_response = 0; //TODO dialog.run();
while (dialog_response == ImportUI.SAVE_RESULTS_RESPONSE_ID) {
save_import_results(dialog, create_result_report_from_manifest(manifest));
- dialog_response = dialog.run();
+ dialog_response = 0; // TODO dialog.run();
}
dialog.hide();
@@ -583,12 +591,13 @@ internal void save_import_results(Gtk.Window? chooser_dialog_parent, string resu
var chooser_dialog = new Gtk.FileChooserNative(
ImportUI.SAVE_RESULTS_FILE_CHOOSER_TITLE, chooser_dialog_parent, Gtk.FileChooserAction.SAVE,
Resources.SAVE_AS_LABEL, Resources.CANCEL_LABEL);
- chooser_dialog.set_do_overwrite_confirmation(true);
- chooser_dialog.set_current_folder(Environment.get_home_dir());
+ try {
+ chooser_dialog.set_current_folder(File.new_for_commandline_arg (Environment.get_home_dir()));
+ } catch (Error err) {
+ }
chooser_dialog.set_current_name("Shotwell Import Log.txt");
- chooser_dialog.set_local_only(false);
- int dialog_result = chooser_dialog.run();
+ int dialog_result = 0; // TODOchooser_dialog.run();
File? chosen_file = chooser_dialog.get_file();
chooser_dialog.hide();
chooser_dialog.destroy();
@@ -716,7 +725,8 @@ public Gtk.ResponseType remove_from_library_dialog(Gtk.Window owner, string titl
// using the message as the secondary text.
dialog.set_markup(build_alert_body_text(title, user_message));
- Gtk.ResponseType result = (Gtk.ResponseType) dialog.run();
+ // TODO
+ Gtk.ResponseType result = (Gtk.ResponseType) 0;//dialog.run();
dialog.destroy();
@@ -734,7 +744,8 @@ public Gtk.ResponseType remove_from_filesystem_dialog(Gtk.Window owner, string t
dialog.set_markup(build_alert_body_text(title, user_message));
- Gtk.ResponseType result = (Gtk.ResponseType) dialog.run();
+ // TODO
+ Gtk.ResponseType result = (Gtk.ResponseType) 0; //dialog.run();
dialog.destroy();
@@ -766,7 +777,7 @@ public bool revert_editable_dialog(Gtk.Window owner, Gee.Collection<Photo> photo
dialog.set_markup(build_alert_body_text(headline, msg));
- Gtk.ResponseType result = (Gtk.ResponseType) dialog.run();
+ Gtk.ResponseType result = (Gtk.ResponseType) 0; // TODO dialog.run();
dialog.destroy();
@@ -788,7 +799,7 @@ public bool remove_offline_dialog(Gtk.Window owner, int count) {
dialog.add_button(_("_Remove"), Gtk.ResponseType.OK);
dialog.title = (count == 1) ? _("Remove Photo From Library") : _("Remove Photos From Library");
- Gtk.ResponseType result = (Gtk.ResponseType) dialog.run();
+ Gtk.ResponseType result = (Gtk.ResponseType) 0; // TODO dialog.run();
dialog.destroy();
@@ -815,7 +826,8 @@ public void multiple_object_error_dialog(Gee.ArrayList<DataObject> objects, stri
dialog.title = title;
- dialog.run();
+ dialog.show();
+ // TODO
dialog.destroy();
}
@@ -925,7 +937,7 @@ public Gtk.ResponseType copy_files_dialog() {
dialog.add_button(_("_Import in Place"), Gtk.ResponseType.REJECT);
dialog.title = _("Import to Library");
- Gtk.ResponseType result = (Gtk.ResponseType) dialog.run();
+ Gtk.ResponseType result = (Gtk.ResponseType) 0; //dialog.run();
dialog.destroy();
diff --git a/src/Dimensions.vala b/src/Dimensions.vala
index 3b4163c9..edc1f699 100644
--- a/src/Dimensions.vala
+++ b/src/Dimensions.vala
@@ -316,8 +316,8 @@ public struct Scaling {
}
public static Dimensions get_screen_dimensions(Gtk.Window window) {
- var display = window.get_window().get_display();
- var monitor = display.get_monitor_at_window(window.get_window());
+ var display = window.get_root().get_display();
+ var monitor = display.get_monitor_at_surface(window.get_surface());
var geom = monitor.get_geometry();
return Dimensions(geom.width, geom.height);
diff --git a/src/MediaPage.vala b/src/MediaPage.vala
index 51f73d79..37e1c792 100644
--- a/src/MediaPage.vala
+++ b/src/MediaPage.vala
@@ -45,23 +45,21 @@ public abstract class MediaPage : CheckerboardPage {
MAX = 4
}
- protected class ZoomSliderAssembly : Gtk.ToolItem {
+ protected class ZoomSliderAssembly : Gtk.Box {
private Gtk.Scale slider;
private Gtk.Adjustment adjustment;
public signal void zoom_changed();
public ZoomSliderAssembly() {
- Gtk.Box zoom_group = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 0);
+ Object (orientation : Gtk.Orientation.HORIZONTAL, spacing : 9);
- Gtk.Image zoom_out = new Gtk.Image.from_icon_name("image-zoom-out-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
- Gtk.EventBox zoom_out_box = new Gtk.EventBox();
- zoom_out_box.set_above_child(true);
- zoom_out_box.set_visible_window(false);
- zoom_out_box.add(zoom_out);
+ Gtk.Image zoom_out = new Gtk.Image.from_icon_name("image-zoom-out-symbolic");
+ #if 0
zoom_out_box.button_press_event.connect(on_zoom_out_pressed);
+ #endif
- zoom_group.pack_start(zoom_out_box, false, false, 0);
+ prepend(zoom_out);
// virgin ZoomSliderAssemblies are created such that they have whatever value is
// persisted in the configuration system for the photo thumbnail scale
@@ -75,18 +73,14 @@ public abstract class MediaPage : CheckerboardPage {
slider.set_size_request(200, -1);
slider.set_tooltip_text(_("Adjust the size of the thumbnails"));
- zoom_group.pack_start(slider, false, false, 0);
+ prepend(slider);
- Gtk.Image zoom_in = new Gtk.Image.from_icon_name("image-zoom-in-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
- Gtk.EventBox zoom_in_box = new Gtk.EventBox();
- zoom_in_box.set_above_child(true);
- zoom_in_box.set_visible_window(false);
- zoom_in_box.add(zoom_in);
+ Gtk.Image zoom_in = new Gtk.Image.from_icon_name("image-zoom-in-symbolic");
+ #if 0
zoom_in_box.button_press_event.connect(on_zoom_in_pressed);
+ #endif
- zoom_group.pack_start(zoom_in_box, false, false, 0);
-
- add(zoom_group);
+ prepend(zoom_in);
}
public static double scale_to_slider(int value) {
@@ -105,6 +99,7 @@ public abstract class MediaPage : CheckerboardPage {
return res;
}
+#if 0
private bool on_zoom_out_pressed(Gdk.EventButton event) {
snap_to_min();
return true;
@@ -114,6 +109,7 @@ public abstract class MediaPage : CheckerboardPage {
snap_to_max();
return true;
}
+ #endif
private void on_slider_changed() {
zoom_changed();
@@ -158,7 +154,7 @@ public abstract class MediaPage : CheckerboardPage {
}
private ZoomSliderAssembly? connected_slider = null;
- private DragAndDropHandler dnd_handler = null;
+ //private DragAndDropHandler dnd_handler = null;
private MediaViewTracker tracker;
protected MediaPage(string page_name) {
@@ -181,7 +177,7 @@ public abstract class MediaPage : CheckerboardPage {
get_view().thaw_notifications();
// enable drag-and-drop export of media
- dnd_handler = new DragAndDropHandler(this);
+ //TODO dnd_handler = new DragAndDropHandler(this);
}
private static int compute_zoom_scale_increase(int current_scale) {
@@ -383,6 +379,7 @@ public abstract class MediaPage : CheckerboardPage {
return new ZoomSliderAssembly();
}
+#if 0
protected override bool on_mousewheel_up(Gdk.EventScroll event) {
if ((event.state & Gdk.ModifierType.CONTROL_MASK) != 0) {
increase_zoom_level();
@@ -400,6 +397,7 @@ public abstract class MediaPage : CheckerboardPage {
return base.on_mousewheel_down(event);
}
}
+ #endif
private void on_send_to() {
DesktopIntegration.send_to((Gee.Collection<MediaSource>) get_view().get_selected_sources());
@@ -421,6 +419,7 @@ public abstract class MediaPage : CheckerboardPage {
}
}
+#if 0
protected override bool on_app_key_pressed(Gdk.EventKey event) {
bool handled = true;
switch (Gdk.keyval_name(event.keyval)) {
@@ -483,6 +482,7 @@ public abstract class MediaPage : CheckerboardPage {
return handled ? true : base.on_app_key_pressed(event);
}
+ #endif
public override void switched_to() {
base.switched_to();
@@ -689,7 +689,7 @@ public abstract class MediaPage : CheckerboardPage {
CheckerboardItem? restore_point = null;
if (cursor != null) {
- restore_point = get_view().get_next(cursor) as CheckerboardItem;
+ restore_point = get_view().get_next(current_cursor) as CheckerboardItem;
}
var sources = get_view().get_selected_sources();
@@ -940,10 +940,10 @@ public abstract class MediaPage : CheckerboardPage {
set_view_comparator(sort_by, sort_ascending);
}
- public override void destroy() {
+ public override void dispose() {
disconnect_slider();
- base.destroy();
+ base.dispose();
}
public void increase_zoom_level() {
diff --git a/src/MetadataWriter.vala b/src/MetadataWriter.vala
index f55a11eb..75ad60c9 100644
--- a/src/MetadataWriter.vala
+++ b/src/MetadataWriter.vala
@@ -691,7 +691,7 @@ public class MetadataWriter : Object {
job.photo.set_master_metadata_dirty(false);
} catch (DatabaseError err) {
AppWindow.database_error(err);
- }
+ } catch (Error err) { }
LibraryPhoto.global.transaction_controller.commit();
diff --git a/src/Page.vala b/src/Page.vala
index 3915f21c..40c7a73f 100644
--- a/src/Page.vala
+++ b/src/Page.vala
@@ -59,7 +59,7 @@ public abstract class Page : Gtk.ScrolledWindow {
private const int CONSIDER_CONFIGURE_HALTED_MSEC = 400;
protected Gtk.Builder builder = new Gtk.Builder ();
- protected Gtk.Toolbar toolbar;
+ protected Gtk.Box toolbar;
protected bool in_view = false;
private string page_name;
@@ -78,7 +78,7 @@ public abstract class Page : Gtk.ScrolledWindow {
private bool alt_pressed = false;
private bool shift_pressed = false;
private bool super_pressed = false;
- private Gdk.CursorType last_cursor = Gdk.CursorType.LEFT_PTR;
+ private string last_cursor = "default";
private bool cursor_hidden = false;
private int cursor_hide_msec = 0;
private uint last_timeout_id = 0;
@@ -95,7 +95,7 @@ public abstract class Page : Gtk.ScrolledWindow {
set_can_focus(true);
- popup_menu.connect(on_context_keypress);
+ //popup_menu.connect(on_context_keypress);
realize.connect(attach_view_signals);
}
@@ -108,7 +108,7 @@ public abstract class Page : Gtk.ScrolledWindow {
// This is called by the page controller when it has removed this page ... pages should override
// this (or the signal) to clean up
- public override void destroy() {
+ public override void dispose() {
if (is_destroyed)
return;
@@ -165,6 +165,7 @@ public abstract class Page : Gtk.ScrolledWindow {
}
public void set_event_source(Gtk.Widget event_source) {
+ #if 0
assert(this.event_source == null);
this.event_source = event_source;
@@ -181,9 +182,11 @@ public abstract class Page : Gtk.ScrolledWindow {
event_source.leave_notify_event.connect(on_leave_notify_event);
event_source.scroll_event.connect(on_mousewheel_internal);
event_source.realize.connect(on_event_source_realize);
+ #endif
}
private void detach_event_source() {
+ #if 0
if (event_source == null)
return;
@@ -194,6 +197,7 @@ public abstract class Page : Gtk.ScrolledWindow {
event_source.scroll_event.disconnect(on_mousewheel_internal);
event_source = null;
+ #endif
}
public Gtk.Widget? get_event_source() {
@@ -249,18 +253,17 @@ public abstract class Page : Gtk.ScrolledWindow {
return model;
}
- public virtual Gtk.Toolbar get_toolbar() {
+ public virtual Gtk.Box get_toolbar() {
if (toolbar == null) {
- toolbar = toolbar_path == null ? new Gtk.Toolbar() :
+ toolbar = toolbar_path == null ? new Gtk.Box(Gtk.Orientation.HORIZONTAL, 9) :
builder.get_object (toolbar_path)
- as Gtk.Toolbar;
+ as Gtk.Box;
toolbar.get_style_context().add_class("bottom-toolbar"); // for elementary theme
- toolbar.set_icon_size(Gtk.IconSize.SMALL_TOOLBAR);
}
return toolbar;
}
- public virtual Gtk.Menu? get_page_context_menu() {
+ public virtual Gtk.PopoverMenu? get_page_context_menu() {
return null;
}
@@ -337,14 +340,7 @@ public abstract class Page : Gtk.ScrolledWindow {
action.set_enabled (sensitive);
}
-
- public void activate_action(string name) {
- var action = get_action(name);
-
- if (action != null)
- action.activate (null);
- }
-
+
public GLib.Action? get_common_action(string name, bool log_warning = true) {
var action = get_action (name);
@@ -401,6 +397,7 @@ public abstract class Page : Gtk.ScrolledWindow {
}
private bool get_modifiers(out bool ctrl, out bool alt, out bool shift, out bool super) {
+ #if 0
if (AppWindow.get_instance().get_window() == null) {
ctrl = false;
alt = false;
@@ -421,6 +418,8 @@ public abstract class Page : Gtk.ScrolledWindow {
super = (mask & Gdk.ModifierType.MOD4_MASK) != 0; // not SUPER_MASK
return true;
+ #endif
+ return false;
}
private void update_modifiers() {
@@ -431,6 +430,7 @@ public abstract class Page : Gtk.ScrolledWindow {
return;
}
+ #if 0
if (ctrl_pressed && !ctrl_currently_pressed)
on_ctrl_released(null);
else if (!ctrl_pressed && ctrl_currently_pressed)
@@ -450,6 +450,7 @@ public abstract class Page : Gtk.ScrolledWindow {
on_super_released(null);
else if (!super_pressed && super_currently_pressed)
on_super_pressed(null);
+ #endif
ctrl_pressed = ctrl_currently_pressed;
alt_pressed = alt_currently_pressed;
@@ -590,6 +591,7 @@ public abstract class Page : Gtk.ScrolledWindow {
protected virtual void update_actions(int selected_count, int count) {
}
+ #if 0
private void on_drag_begin(Gdk.DragContext context) {
drag_begin(context);
}
@@ -618,6 +620,7 @@ public abstract class Page : Gtk.ScrolledWindow {
private bool on_drag_failed(Gdk.DragContext context, Gtk.DragResult drag_result) {
return source_drag_failed(context, drag_result);
}
+ #endif
// Use this function rather than GDK or GTK's get_pointer, especially if called during a
// button-down mouse drag (i.e. a window grab).
@@ -633,7 +636,7 @@ public abstract class Page : Gtk.ScrolledWindow {
}
var seat = Gdk.Display.get_default().get_default_seat();
- event_source.get_window().get_device_position(seat.get_pointer(), out x, out y, out mask);
+ //event_source.get_window().get_device_position(seat.get_pointer(), out x, out y, out mask);
if (last_down.x < 0 || last_down.y < 0)
return true;
@@ -651,6 +654,7 @@ public abstract class Page : Gtk.ScrolledWindow {
return true;
}
+ #if 0
protected virtual bool on_left_click(Gdk.EventButton event) {
return false;
}
@@ -922,6 +926,7 @@ public abstract class Page : Gtk.ScrolledWindow {
return on_configure(event, rect);
}
+ #endif
private bool check_configure_halted() {
if (is_destroyed)
@@ -933,11 +938,13 @@ public abstract class Page : Gtk.ScrolledWindow {
Gtk.Allocation allocation;
get_allocation(out allocation);
+ #if 0
if (report_move_finished)
on_move_finished((Gdk.Rectangle) allocation);
if (report_resize_finished)
on_resize_finished((Gdk.Rectangle) allocation);
+ #endif
last_configure_ms = 0;
report_move_finished = false;
@@ -946,16 +953,19 @@ public abstract class Page : Gtk.ScrolledWindow {
return false;
}
+ #if 0
protected virtual bool on_motion(Gdk.EventMotion event, int x, int y, Gdk.ModifierType mask) {
check_cursor_hiding();
return false;
}
+ #endif
protected virtual bool on_leave_notify_event() {
return false;
}
+ #if 0
private bool on_motion_internal(Gdk.EventMotion event) {
int x, y;
Gdk.ModifierType mask;
@@ -1021,19 +1031,24 @@ public abstract class Page : Gtk.ScrolledWindow {
protected virtual bool on_mousewheel_right(Gdk.EventScroll event) {
return false;
}
+ #endif
protected virtual bool on_context_keypress() {
return false;
}
+ #if 0
protected virtual bool on_context_buttonpress(Gdk.EventButton event) {
return false;
}
+ #endif
+
protected virtual bool on_context_invoked() {
return true;
}
+#if 0
protected bool popup_context_menu(Gtk.Menu? context_menu,
Gdk.EventButton? event = null) {
@@ -1044,7 +1059,10 @@ public abstract class Page : Gtk.ScrolledWindow {
return true;
}
+ #endif
+
+#if 0
protected void on_event_source_realize() {
assert(event_source.get_window() != null); // the realize event means the Widget has a window
@@ -1062,6 +1080,7 @@ public abstract class Page : Gtk.ScrolledWindow {
if (parent_window != null)
last_cursor = parent_window.get_cursor().get_cursor_type();
}
+ #endif
public void set_cursor_hide_time(int hide_time) {
cursor_hide_msec = hide_time;
@@ -1095,12 +1114,11 @@ public abstract class Page : Gtk.ScrolledWindow {
}
// Use this method to set the cursor for a page, NOT window.set_cursor(...)
- protected virtual void set_page_cursor(Gdk.CursorType cursor_type) {
+ protected virtual void set_page_cursor(string cursor_type) {
last_cursor = cursor_type;
if (!cursor_hidden && event_source != null) {
- var display = event_source.get_window ().get_display ();
- event_source.get_window().set_cursor(new Gdk.Cursor.for_display(display, cursor_type));
+ event_source.set_cursor (new Gdk.Cursor.from_name (cursor_type, null));
}
}
@@ -1121,8 +1139,7 @@ public abstract class Page : Gtk.ScrolledWindow {
cursor_hidden = true;
if (event_source != null) {
- var display = event_source.get_window().get_display ();
- event_source.get_window().set_cursor(new Gdk.Cursor.for_display(display,
Gdk.CursorType.BLANK_CURSOR));
+ event_source.set_cursor (new Gdk.Cursor.from_name ("none", null));
}
// We remove the timeout so reset the id
diff --git a/src/Photo.vala b/src/Photo.vala
index 04eb504b..4f5b8b4c 100644
--- a/src/Photo.vala
+++ b/src/Photo.vala
@@ -1722,6 +1722,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
AppWindow.database_error(err);
return;
+ } catch (Error err) {
}
if (is_master_baseline())
@@ -1731,7 +1732,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
}
// Use this only if the editable file's modification time has been changed (i.e. touched)
- public void update_editable_modification_time(FileInfo info) throws DatabaseError {
+ public void update_editable_modification_time(FileInfo info) throws DatabaseError, Error {
TimeVal modification = info.get_modification_time();
bool altered = false;
@@ -1750,7 +1751,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
// Most useful if the appropriate SourceCollection is frozen while calling this.
public static void update_many_editable_timestamps(Gee.Map<Photo, FileInfo> map)
- throws DatabaseError {
+ throws DatabaseError, Error {
DatabaseTable.begin_transaction();
foreach (Photo photo in map.keys)
photo.update_editable_modification_time(map.get(photo));
@@ -1868,6 +1869,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
}
} catch (DatabaseError err) {
AppWindow.database_error(err);
+ } catch (Error err) {
}
if (altered) {
@@ -1921,6 +1923,8 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
}
} catch (DatabaseError err) {
AppWindow.database_error(err);
+ } catch (Error err) {
+ // TODO
}
if (altered) {
@@ -2182,7 +2186,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
}
}
- public void set_master_metadata_dirty(bool dirty) throws DatabaseError {
+ public void set_master_metadata_dirty(bool dirty) throws DatabaseError, Error {
bool committed = false;
lock (row) {
if (row.metadata_dirty != dirty) {
@@ -3023,6 +3027,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
}
// All instances are against the coordinate system of the unscaled, unrotated photo.
+ #if 0
private EditingTools.RedeyeInstance[] get_raw_redeye_instances() {
KeyValueMap map = get_transformation("redeye");
if (map == null)
@@ -3041,7 +3046,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
string center_key = "center%d".printf(i);
string radius_key = "radius%d".printf(i);
- res[i].center = map.get_point(center_key, default_point);
+ //res[i].center = map.get_point(center_key, default_point);
assert(res[i].center.x != default_point.x);
assert(res[i].center.y != default_point.y);
@@ -3080,6 +3085,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
if (set_transformation(map))
notify_altered(new Alteration("image", "redeye"));
}
+ #endif
// Pixbuf generation
@@ -3440,7 +3446,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
Dimensions scaled_to_viewport;
Dimensions original = Dimensions();
Dimensions scaled = Dimensions();
- EditingTools.RedeyeInstance[] redeye_instances = null;
+ //EditingTools.RedeyeInstance[] redeye_instances = null;
Box crop;
double straightening_angle;
PixelTransformer transformer = null;
@@ -3453,7 +3459,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
is_scaled = !(get_dimensions().equals(scaled));
- redeye_instances = get_raw_redeye_instances();
+ //redeye_instances = get_raw_redeye_instances();
is_cropped = get_raw_crop(out crop);
@@ -3481,9 +3487,11 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
#if MEASURE_PIPELINE
timer.start();
#endif
+#if 0
foreach (EditingTools.RedeyeInstance instance in redeye_instances) {
pixbuf = do_redeye(pixbuf, instance);
}
+ #endif
#if MEASURE_PIPELINE
redeye_time = timer.elapsed();
#endif
@@ -4096,6 +4104,8 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
}
} catch (DatabaseError err) {
warning("Unable to remove editable from PhotoTable: %s", err.message);
+ } catch (Error err) {
+ // TODO
}
try {
@@ -4284,6 +4294,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
set_raw_straighten(theta);
}
+ #if 0
private Gdk.Pixbuf do_redeye(Gdk.Pixbuf pixbuf, EditingTools.RedeyeInstance inst) {
/* we remove redeye within a circular region called the "effect
extent." the effect extent is inscribed within its "bounding
@@ -4347,6 +4358,7 @@ public abstract class Photo : PhotoSource, Dateable, Positionable {
return pixbuf;
}
+ #endif
private Gdk.Pixbuf red_reduce_pixel(Gdk.Pixbuf pixbuf, int x, int y) {
int px_start_byte_offset = (y * pixbuf.get_rowstride()) +
diff --git a/src/PhotoPage.vala b/src/PhotoPage.vala
index 4d21647d..414cac90 100644
--- a/src/PhotoPage.vala
+++ b/src/PhotoPage.vala
@@ -371,18 +371,20 @@ public abstract class EditingHostPage : SinglePhotoPage {
public const int PIXBUF_CACHE_COUNT = 5;
public const int ORIGINAL_PIXBUF_CACHE_COUNT = 5;
- private class EditingHostCanvas : EditingTools.PhotoCanvas {
+ private class EditingHostCanvas : Object { //EditingTools.PhotoCanvas {
private EditingHostPage host_page;
public EditingHostCanvas(EditingHostPage host_page) {
+ #if 0
base(host_page.get_container(), host_page.canvas.get_window(), host_page.get_photo(),
host_page.get_cairo_context(), host_page.get_surface_dim(), host_page.get_scaled_pixbuf(),
host_page.get_scaled_pixbuf_position());
+ #endif
this.host_page = host_page;
}
- public override void repaint() {
+ public /* override */ void repaint() {
host_page.repaint();
}
}
@@ -391,25 +393,29 @@ public abstract class EditingHostPage : SinglePhotoPage {
private ViewCollection? parent_view = null;
private Gdk.Pixbuf swapped = null;
private bool pixbuf_dirty = true;
- private Gtk.ToolButton rotate_button = null;
- private Gtk.ToggleToolButton crop_button = null;
- private Gtk.ToggleToolButton redeye_button = null;
- private Gtk.ToggleToolButton adjust_button = null;
- private Gtk.ToggleToolButton straighten_button = null;
+ private Gtk.Button rotate_button = null;
+ private Gtk.ToggleButton crop_button = null;
+ private Gtk.ToggleButton redeye_button = null;
+ private Gtk.ToggleButton adjust_button = null;
+ private Gtk.ToggleButton straighten_button = null;
#if ENABLE_FACES
- private Gtk.ToggleToolButton faces_button = null;
+ private Gtk.ToggleButton faces_button = null;
#endif
- private Gtk.ToolButton enhance_button = null;
+ private Gtk.Button enhance_button = null;
private Gtk.Scale zoom_slider = null;
- private Gtk.ToolButton prev_button = new Gtk.ToolButton(null, Resources.PREVIOUS_LABEL);
- private Gtk.ToolButton next_button = new Gtk.ToolButton(null, Resources.NEXT_LABEL);
+ private Gtk.Button prev_button = new Gtk.Button.with_label(Resources.PREVIOUS_LABEL);
+ private Gtk.Button next_button = new Gtk.Button.with_label(Resources.NEXT_LABEL);
+ # if 0
private EditingTools.EditingTool current_tool = null;
- private Gtk.ToggleToolButton current_editing_toggle = null;
+ #endif
+ private Gtk.ToggleButton current_editing_toggle = null;
private Gdk.Pixbuf cancel_editing_pixbuf = null;
private bool photo_missing = false;
private PixbufCache cache = null;
private PixbufCache master_cache = null;
+ #if 0
private DragAndDropHandler dnd_handler = null;
+ #endif
private bool enable_interactive_zoom_refresh = false;
private Gdk.Point zoom_pan_start_point;
private bool is_pan_in_progress = false;
@@ -431,132 +437,109 @@ public abstract class EditingHostPage : SinglePhotoPage {
// the viewport can change size independent of the window being resized (when the searchbar
// disappears, for example)
- viewport.size_allocate.connect(on_viewport_resized);
+ //viewport.resize.connect(on_viewport_resized);
// set up page's toolbar (used by AppWindow for layout and FullscreenWindow as a popup)
- Gtk.Toolbar toolbar = get_toolbar();
+ var toolbar = get_toolbar();
// rotate tool
- rotate_button = new Gtk.ToolButton (null, Resources.ROTATE_CW_LABEL);
+ rotate_button = new Gtk.Button.with_label(Resources.ROTATE_CW_LABEL);
rotate_button.set_icon_name(Resources.CLOCKWISE);
rotate_button.set_tooltip_text(Resources.ROTATE_CW_TOOLTIP);
rotate_button.clicked.connect(on_rotate_clockwise);
- rotate_button.is_important = true;
- toolbar.insert(rotate_button, -1);
+ toolbar.append(rotate_button);
+ #if 0
unowned Gtk.BindingSet binding_set = Gtk.BindingSet.by_class(rotate_button.get_class());
Gtk.BindingEntry.add_signal(binding_set, Gdk.Key.KP_Space, Gdk.ModifierType.CONTROL_MASK, "clicked",
0);
Gtk.BindingEntry.add_signal(binding_set, Gdk.Key.space, Gdk.ModifierType.CONTROL_MASK, "clicked", 0);
+ #endif
// crop tool
- crop_button = new Gtk.ToggleToolButton ();
+ crop_button = new Gtk.ToggleButton ();
crop_button.set_icon_name("image-crop-symbolic");
crop_button.set_label(Resources.CROP_LABEL);
crop_button.set_tooltip_text(Resources.CROP_TOOLTIP);
- crop_button.toggled.connect(on_crop_toggled);
- crop_button.is_important = true;
- toolbar.insert(crop_button, -1);
+// crop_button.toggled.connect(on_crop_toggled);
+ toolbar.append(crop_button);
// straightening tool
- straighten_button = new Gtk.ToggleToolButton ();
+ straighten_button = new Gtk.ToggleButton ();
straighten_button.set_icon_name(Resources.STRAIGHTEN);
straighten_button.set_label(Resources.STRAIGHTEN_LABEL);
straighten_button.set_tooltip_text(Resources.STRAIGHTEN_TOOLTIP);
- straighten_button.toggled.connect(on_straighten_toggled);
- straighten_button.is_important = true;
- toolbar.insert(straighten_button, -1);
+// straighten_button.toggled.connect(on_straighten_toggled);
+ toolbar.append(straighten_button);
// redeye reduction tool
- redeye_button = new Gtk.ToggleToolButton ();
+ redeye_button = new Gtk.ToggleButton ();
redeye_button.set_icon_name("stock-eye-symbolic");
redeye_button.set_label(Resources.RED_EYE_LABEL);
redeye_button.set_tooltip_text(Resources.RED_EYE_TOOLTIP);
- redeye_button.toggled.connect(on_redeye_toggled);
- redeye_button.is_important = true;
- toolbar.insert(redeye_button, -1);
+// redeye_button.toggled.connect(on_redeye_toggled;
+ toolbar.append(redeye_button);
// adjust tool
- adjust_button = new Gtk.ToggleToolButton();
+ adjust_button = new Gtk.ToggleButton();
adjust_button.set_icon_name(Resources.ADJUST);
adjust_button.set_label(Resources.ADJUST_LABEL);
adjust_button.set_tooltip_text(Resources.ADJUST_TOOLTIP);
- adjust_button.toggled.connect(on_adjust_toggled);
- adjust_button.is_important = true;
- toolbar.insert(adjust_button, -1);
+// adjust_button.toggled.connect(on_adjust_toggled);
+ toolbar.append(adjust_button);
// enhance tool
- enhance_button = new Gtk.ToolButton(null, Resources.ENHANCE_LABEL);
+ enhance_button = new Gtk.Button.with_label (Resources.ENHANCE_LABEL);
enhance_button.set_icon_name(Resources.ENHANCE);
enhance_button.set_tooltip_text(Resources.ENHANCE_TOOLTIP);
- enhance_button.clicked.connect(on_enhance);
- enhance_button.is_important = true;
- toolbar.insert(enhance_button, -1);
+// enhance_button.clicked.connect(on_enhance);
+ toolbar.append (enhance_button);
#if ENABLE_FACES
// faces tool
insert_faces_button(toolbar);
- faces_button = new Gtk.ToggleToolButton();
+ faces_button = new Gtk.ToggleButton();
//face_button
#endif
// separator to force next/prev buttons to right side of toolbar
- Gtk.SeparatorToolItem separator = new Gtk.SeparatorToolItem();
- separator.set_expand(true);
- separator.set_draw(false);
- toolbar.insert(separator, -1);
Gtk.Box zoom_group = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 0);
- Gtk.Image zoom_out = new Gtk.Image.from_icon_name("image-zoom-out-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
- Gtk.EventBox zoom_out_box = new Gtk.EventBox();
- zoom_out_box.set_above_child(true);
- zoom_out_box.set_visible_window(false);
- zoom_out_box.add(zoom_out);
+ Gtk.Image zoom_out = new Gtk.Image.from_icon_name("image-zoom-out-symbolic");
+ //zoom_out.button_press_event.connect(on_zoom_out_pressed);
- zoom_out_box.button_press_event.connect(on_zoom_out_pressed);
-
- zoom_group.pack_start(zoom_out_box, false, false, 0);
+ zoom_group.append(zoom_out);
// zoom slider
zoom_slider = new Gtk.Scale(Gtk.Orientation.HORIZONTAL, new Gtk.Adjustment(0.0, 0.0, 1.1, 0.1, 0.1,
0.1));
zoom_slider.set_draw_value(false);
zoom_slider.set_size_request(120, -1);
zoom_slider.value_changed.connect(on_zoom_slider_value_changed);
+ #if 0
zoom_slider.button_press_event.connect(on_zoom_slider_drag_begin);
zoom_slider.button_release_event.connect(on_zoom_slider_drag_end);
zoom_slider.key_press_event.connect(on_zoom_slider_key_press);
+ #endif
- zoom_group.pack_start(zoom_slider, false, false, 0);
-
- Gtk.Image zoom_in = new Gtk.Image.from_icon_name("image-zoom-in-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
- Gtk.EventBox zoom_in_box = new Gtk.EventBox();
- zoom_in_box.set_above_child(true);
- zoom_in_box.set_visible_window(false);
- zoom_in_box.add(zoom_in);
+ zoom_group.prepend(zoom_slider);
- zoom_in_box.button_press_event.connect(on_zoom_in_pressed);
+ Gtk.Image zoom_in = new Gtk.Image.from_icon_name("image-zoom-in-symbolic");
+ //zoom_in.button_press_event.connect(on_zoom_in_pressed);
- zoom_group.pack_start(zoom_in_box, false, false, 0);
+ zoom_group.prepend(zoom_in);
- Gtk.ToolItem group_wrapper = new Gtk.ToolItem();
- group_wrapper.add(zoom_group);
-
- toolbar.insert(group_wrapper, -1);
-
- separator = new Gtk.SeparatorToolItem();
- separator.set_draw(false);
- toolbar.insert(separator, -1);
+ toolbar.append(zoom_group);
// previous button
prev_button.set_tooltip_text(_("Previous photo"));
prev_button.set_icon_name("go-previous-symbolic");
prev_button.clicked.connect(on_previous_photo);
- toolbar.insert(prev_button, -1);
+ toolbar.append(prev_button);
// next button
next_button.set_tooltip_text(_("Next photo"));
next_button.set_icon_name("go-next-symbolic");
next_button.clicked.connect(on_next_photo);
- toolbar.insert(next_button, -1);
+ toolbar.append(next_button);
}
~EditingHostPage() {
@@ -586,6 +569,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
update_cursor_for_zoom_context();
}
+# if 0
private bool on_zoom_slider_drag_begin(Gdk.EventButton event) {
enable_interactive_zoom_refresh = true;
@@ -618,7 +602,9 @@ public abstract class EditingHostPage : SinglePhotoPage {
snap_zoom_to_max();
return true;
}
+ #endif
+# if 0
private Gdk.Point get_cursor_wrt_viewport(Gdk.EventScroll event) {
Gdk.Point cursor_wrt_canvas = {0};
cursor_wrt_canvas.x = (int) event.x;
@@ -654,6 +640,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return add_points(viewport_center_iso, cursor_wrt_center_iso);
}
+ #endif
private double snap_interpolation_factor(double interp) {
if (interp < 0.03)
@@ -668,6 +655,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return snap_interpolation_factor(get_zoom_state().get_interpolation_factor() + adjustment);
}
+#if 0
private void zoom_about_event_cursor_point(Gdk.EventScroll event, double zoom_increment) {
if (photo_missing)
return;
@@ -701,6 +689,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
update_cursor_for_zoom_context();
}
+ #endif
protected void snap_zoom_to_min() {
zoom_slider.set_value(0.0);
@@ -715,6 +704,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
zoom_slider.set_value(iso_state.get_interpolation_factor());
}
+#if 0
protected virtual bool on_zoom_slider_key_press(Gdk.EventKey event) {
switch (Gdk.keyval_name(event.keyval)) {
case "equal":
@@ -740,6 +730,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return false;
}
+ #endif
protected virtual void on_increase_size() {
zoom_slider.set_value(adjust_interpolation_factor(ZOOM_INCREMENT_SIZE));
@@ -758,6 +749,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return zoom_buffer;
}
+ #if 0
protected override bool on_mousewheel_up(Gdk.EventScroll event) {
if (get_zoom_state().is_max() || !zoom_slider.get_sensitive())
return false;
@@ -773,6 +765,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
zoom_about_event_cursor_point(event, -ZOOM_INCREMENT_SIZE);
return true;
}
+ #endif
protected override void restore_zoom_state() {
base.restore_zoom_state();
@@ -790,8 +783,8 @@ public abstract class EditingHostPage : SinglePhotoPage {
base.set_container(container);
// DnD not available in fullscreen mode
- if (!(container is FullscreenWindow))
- dnd_handler = new DragAndDropHandler(this);
+ //if (!(container is FullscreenWindow))
+ // dnd_handler = new DragAndDropHandler(this);
}
public ViewCollection? get_parent_view() {
@@ -871,7 +864,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
cancel_zoom();
is_pan_in_progress = false;
- deactivate_tool();
+ //deactivate_tool();
// Ticket #3255 - Checkerboard page didn't `remember` what was selected
// when the user went into and out of the photo page without navigating
@@ -889,7 +882,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
public override void switching_to_fullscreen(FullscreenWindow fsw) {
base.switching_to_fullscreen(fsw);
- deactivate_tool();
+ //deactivate_tool();
cancel_zoom();
is_pan_in_progress = false;
@@ -976,6 +969,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
// if no tool, use the pixbuf directly, otherwise, let the tool decide what should be
// displayed
Dimensions max_dim = photo.get_dimensions();
+ #if 0
if (current_tool != null) {
try {
Dimensions tool_pixbuf_dim;
@@ -993,6 +987,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return;
}
}
+ #endif
set_pixbuf(pixbuf, max_dim);
pixbuf_dirty = false;
@@ -1106,7 +1101,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
enhance_button.sensitive = sensitivity;
zoom_slider.sensitive = sensitivity;
- deactivate_tool();
+ ////deactivate_tool();
}
// This should only be called when it's known that the photo is actually missing.
@@ -1177,7 +1172,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
}
}
if (pixbuf == null) {
- pixbuf = get_placeholder_pixbuf();
+ //pixbuf = get_placeholder_pixbuf();
get_canvas_scaling().perform_on_pixbuf(pixbuf, Gdk.InterpType.NEAREST, true);
}
return pixbuf;
@@ -1199,7 +1194,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return;
}
- deactivate_tool();
+ //deactivate_tool();
// swap out new photo and old photo and process change
Photo old_photo = get_photo();
@@ -1244,8 +1239,8 @@ public abstract class EditingHostPage : SinglePhotoPage {
// a left pointer in case it had been a hand-grip cursor indicating that panning
// was possible; the null guards are required because zoom can be cancelled at
// any time
- if (canvas != null && canvas.get_window() != null)
- set_page_cursor(Gdk.CursorType.LEFT_PTR);
+ if (canvas != null /*&& canvas.get_window() != null*/)
+ set_page_cursor("default");
repaint();
}
@@ -1292,8 +1287,8 @@ public abstract class EditingHostPage : SinglePhotoPage {
try {
Dimensions tool_pixbuf_dim = {0};
- if (current_tool != null)
- pixbuf = current_tool.get_display_pixbuf(get_canvas_scaling(), photo, out tool_pixbuf_dim);
+ //if (current_tool != null)
+ // pixbuf = current_tool.get_display_pixbuf(get_canvas_scaling(), photo, out tool_pixbuf_dim);
if (pixbuf != null)
max_dim = tool_pixbuf_dim;
@@ -1323,7 +1318,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return false;
}
-
+ #if 0
protected override void on_resize(Gdk.Rectangle rect) {
base.on_resize(rect);
@@ -1339,6 +1334,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
update_pixbuf();
}
+ #endif
private void on_viewport_resized() {
// this means the viewport (the display area) has changed, but not necessarily the
@@ -1360,6 +1356,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
rotate_button.sensitive = ((photo != null) && (!photo_missing) && photo.check_can_rotate()) ?
is_rotate_available(photo) : false;
+ #if 0
crop_button.sensitive = ((photo != null) && (!photo_missing)) ?
EditingTools.CropTool.is_available(photo, scaling) : false;
redeye_button.sensitive = ((photo != null) && (!photo_missing)) ?
@@ -1370,10 +1367,12 @@ public abstract class EditingHostPage : SinglePhotoPage {
is_enhance_available(photo) : false;
straighten_button.sensitive = ((photo != null) && (!photo_missing)) ?
EditingTools.StraightenTool.is_available(photo, scaling) : false;
+ #endif
base.update_actions(selected_count, count);
}
+ #if 0
protected override bool on_shift_pressed(Gdk.EventKey? event) {
// show quick compare of original only if no tool is in use, the original pixbuf is handy
if (current_tool == null && !get_ctrl_pressed() && !get_alt_pressed() && has_photo())
@@ -1402,6 +1401,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
return base.on_alt_released(event);
}
+ #endif
private void swap_in_original() {
Gdk.Pixbuf original;
@@ -1437,6 +1437,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
}
}
+#if 0
private void activate_tool(EditingTools.EditingTool tool) {
// cancel any zoom -- we don't currently allow tools to be used when an image is zoomed,
// though we may at some point in the future.
@@ -1486,7 +1487,9 @@ public abstract class EditingHostPage : SinglePhotoPage {
// repaint entire view, with the tool now hooked in
repaint();
}
+ #endif
+ #if 0
private void deactivate_tool(Command? command = null, Gdk.Pixbuf? new_pixbuf = null,
Dimensions new_max_dim = Dimensions(), bool needs_improvement = false) {
if (current_tool == null)
@@ -1621,6 +1624,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
protected override bool on_right_click(Gdk.EventButton event) {
return on_context_buttonpress(event);
}
+ #endif
private void on_photos_altered(Gee.Map<DataObject, Alteration> map) {
if (!map.has_key(get_photo()))
@@ -1660,12 +1664,13 @@ public abstract class EditingHostPage : SinglePhotoPage {
private void update_cursor_for_zoom_context() {
if (is_panning_possible())
- set_page_cursor(Gdk.CursorType.FLEUR);
+ set_page_cursor("move");
else
- set_page_cursor(Gdk.CursorType.LEFT_PTR);
+ set_page_cursor("default");
}
// Return true to block the DnD handler from activating a drag
+ #if 0
protected override bool on_motion(Gdk.EventMotion event, int x, int y, Gdk.ModifierType mask) {
if (current_tool != null) {
current_tool.on_motion(x, y, mask);
@@ -1814,21 +1819,24 @@ public abstract class EditingHostPage : SinglePhotoPage {
return (base.key_press_event != null) ? base.key_press_event(event) : true;
}
+ #endif
protected override void new_surface(Cairo.Context default_ctx, Dimensions dim) {
// if tool is open, update its canvas object
- if (current_tool != null)
- current_tool.canvas.set_surface(default_ctx, dim);
+ //if (current_tool != null)
+ // current_tool.canvas.set_surface(default_ctx, dim);
}
protected override void updated_pixbuf(Gdk.Pixbuf pixbuf, SinglePhotoPage.UpdateReason reason,
Dimensions old_dim) {
// only purpose here is to inform editing tool of change and drop the cancelled
// pixbuf, which is now sized incorrectly
+ #if 0
if (current_tool != null && reason != SinglePhotoPage.UpdateReason.QUALITY_IMPROVEMENT) {
current_tool.canvas.resized_pixbuf(old_dim, pixbuf, get_scaled_pixbuf_position());
cancel_editing_pixbuf = null;
}
+ #endif
}
protected virtual Gdk.Pixbuf? get_bottom_left_trinket(int scale) {
@@ -1848,11 +1856,13 @@ public abstract class EditingHostPage : SinglePhotoPage {
}
protected override void paint(Cairo.Context ctx, Dimensions ctx_dim) {
+ #if 0
if (current_tool != null) {
current_tool.paint(ctx);
return;
}
+ #endif
if (photo_missing && has_photo()) {
set_source_color_from_string(ctx, "#000");
@@ -1915,7 +1925,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
private void rotate(Rotation rotation, string name, string description) {
cancel_zoom();
- deactivate_tool();
+ //deactivate_tool();
if (!has_photo())
return;
@@ -1945,7 +1955,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
if (photo_missing)
return;
- deactivate_tool();
+ //deactivate_tool();
if (!has_photo())
return;
@@ -2028,6 +2038,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
}
}
+#if 0
protected override bool on_ctrl_pressed(Gdk.EventKey? event) {
rotate_button.set_icon_name(Resources.COUNTERCLOCKWISE);
rotate_button.set_label(Resources.ROTATE_CCW_LABEL);
@@ -2168,6 +2179,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
EnhanceSingleCommand command = new EnhanceSingleCommand(get_photo());
get_command_manager().execute(command);
}
+ #endif
public void on_copy_adjustments() {
if (!has_photo())
@@ -2186,6 +2198,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
get_command_manager().execute(command);
}
+#if 0
private void place_tool_window() {
if (current_tool == null)
return;
@@ -2261,9 +2274,10 @@ public abstract class EditingHostPage : SinglePhotoPage {
tool_window.show();
tool_window.present();
}
+ #endif
protected override void on_next_photo() {
- deactivate_tool();
+ //deactivate_tool();
if (!has_photo())
return;
@@ -2296,7 +2310,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
}
protected override void on_previous_photo() {
- deactivate_tool();
+ //deactivate_tool();
if (!has_photo())
return;
@@ -2329,7 +2343,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
}
public bool has_current_tool() {
- return (current_tool != null);
+ return false; //(current_tool != null);
}
protected void unset_view_collection() {
@@ -2340,7 +2354,7 @@ public abstract class EditingHostPage : SinglePhotoPage {
// it in LibraryPhotoPage, since FacesTool must only be present in
// LibraryMode, but it need to be called from constructor of EditingHostPage
// to place it correctly in the toolbar.
- protected virtual void insert_faces_button(Gtk.Toolbar toolbar) {
+ protected virtual void insert_faces_button(Gtk.Box toolbar) {
;
}
}
@@ -2420,13 +2434,13 @@ public class LibraryPhotoPage : EditingHostPage {
{ "RotateCounterclockwise", on_rotate_counterclockwise },
{ "FlipHorizontally", on_flip_horizontally },
{ "FlipVertically", on_flip_vertically },
- { "Enhance", on_enhance },
+ //{ "Enhance", on_enhance },
{ "CopyColorAdjustments", on_copy_adjustments },
{ "PasteColorAdjustments", on_paste_adjustments },
- { "Crop", toggle_crop },
- { "Straighten", toggle_straighten },
- { "RedEye", toggle_redeye },
- { "Adjust", toggle_adjust },
+ //{ "Crop", toggle_crop },
+ //{ "Straighten", toggle_straighten },
+ //{ "RedEye", toggle_redeye },
+ //{ "Adjust", toggle_adjust },
{ "Revert", on_revert },
{ "EditTitle", on_edit_title },
{ "EditComment", on_edit_comment },
@@ -2546,9 +2560,9 @@ public class LibraryPhotoPage : EditingHostPage {
set_action_sensitive("FlipVertically", rotate_possible);
if (has_photo()) {
- set_action_sensitive("Crop", EditingTools.CropTool.is_available(get_photo(),
Scaling.for_original()));
- set_action_sensitive("RedEye", EditingTools.RedeyeTool.is_available(get_photo(),
- Scaling.for_original()));
+// set_action_sensitive("Crop", EditingTools.CropTool.is_available(get_photo(),
Scaling.for_original()));
+// set_action_sensitive("RedEye", EditingTools.RedeyeTool.is_available(get_photo(),
+// Scaling.for_original()));
}
update_flag_action();
@@ -2615,7 +2629,8 @@ public class LibraryPhotoPage : EditingHostPage {
public void display_for_collection(CollectionPage return_page, Photo photo,
ViewCollection? view = null) {
this.return_page = return_page;
- return_page.destroy.connect(on_page_destroyed);
+ //return_page.destroy.connect(on_page_destroyed);
+ //TODO
display_copy_of(view != null ? view : return_page.get_view(), photo);
}
@@ -2693,6 +2708,7 @@ public class LibraryPhotoPage : EditingHostPage {
update_zoom_menu_item_sensitivity();
}
+#if 0
protected override bool on_zoom_slider_key_press(Gdk.EventKey event) {
if (base.on_zoom_slider_key_press(event))
return true;
@@ -2704,6 +2720,7 @@ public class LibraryPhotoPage : EditingHostPage {
return false;
}
}
+ #endif
protected override void update_ui(bool missing) {
bool sensitivity = !missing;
@@ -2756,6 +2773,7 @@ public class LibraryPhotoPage : EditingHostPage {
base.notify_photo_backing_missing(photo, missing);
}
+ #if 0
public override bool key_press_event(Gdk.EventKey event) {
if (base.key_press_event != null && base.key_press_event(event) == true)
return true;
@@ -2873,9 +2891,10 @@ public class LibraryPhotoPage : EditingHostPage {
return true;
}
+ #endif
protected override bool on_context_keypress() {
- popup_context_menu(get_context_menu());
+ //popup_context_menu(get_context_menu());
return true;
}
diff --git a/src/Portal.vala b/src/Portal.vala
index c2e8e1e0..5d30536b 100644
--- a/src/Portal.vala
+++ b/src/Portal.vala
@@ -51,6 +51,7 @@ public class Portal : GLib.Object {
}
private static async string get_parent_window () {
+ #if 0
var window = AppWindow.get_instance().get_window ();
if (window is Gdk.Wayland.Window) {
@@ -67,5 +68,7 @@ public class Portal : GLib.Object {
warning ("Could not get parent window");
return "";
}
+ #endif
+ return "";
}
}
diff --git a/src/Printing.vala b/src/Printing.vala
index bef34760..ed4b5a6b 100644
--- a/src/Printing.vala
+++ b/src/Printing.vala
@@ -271,11 +271,11 @@ public class CustomPrintTab : Gtk.Box {
private const int CENTIMETERS_COMBO_CHOICE = 1;
[GtkChild]
- private unowned Gtk.RadioButton standard_size_radio;
+ private unowned Gtk.ToggleButton standard_size_radio;
[GtkChild]
- private unowned Gtk.RadioButton custom_size_radio;
+ private unowned Gtk.ToggleButton custom_size_radio;
[GtkChild]
- private unowned Gtk.RadioButton image_per_page_radio;
+ private unowned Gtk.ToggleButton image_per_page_radio;
[GtkChild]
private unowned Gtk.ComboBoxText image_per_page_combo;
[GtkChild]
@@ -321,23 +321,23 @@ public class CustomPrintTab : Gtk.Box {
standard_sizes_combo.set_active(9 * Resources.get_default_measurement_unit());
custom_width_entry.insert_text.connect(on_entry_insert_text);
- custom_width_entry.focus_out_event.connect(on_width_entry_focus_out);
+ //custom_width_entry.focus_out_event.connect(on_width_entry_focus_out);
custom_height_entry.insert_text.connect(on_entry_insert_text);
- custom_height_entry.focus_out_event.connect(on_height_entry_focus_out);
+ //custom_height_entry.focus_out_event.connect(on_height_entry_focus_out);
units_combo.changed.connect(on_units_combo_changed);
units_combo.set_active(Resources.get_default_measurement_unit());
ppi_entry.insert_text.connect(on_ppi_entry_insert_text);
- ppi_entry.focus_out_event.connect(on_ppi_entry_focus_out);
+ //ppi_entry.focus_out_event.connect(on_ppi_entry_focus_out);
sync_state_from_job(source_job);
- show_all();
+ show();
/* connect this signal after state is sync'd */
- aspect_ratio_check.clicked.connect(on_aspect_ratio_check_clicked);
+ aspect_ratio_check.toggled.connect(on_aspect_ratio_check_clicked);
}
private void on_aspect_ratio_check_clicked() {
@@ -349,6 +349,7 @@ public class CustomPrintTab : Gtk.Box {
}
}
+#if 0
private bool on_width_entry_focus_out(Gdk.EventFocus event) {
if (custom_width_entry.get_text() == (format_measurement_as(local_content_width,
get_user_unit_choice())))
@@ -375,6 +376,7 @@ public class CustomPrintTab : Gtk.Box {
custom_width_entry.set_text(format_measurement(new_width));
return false;
}
+ #endif
private string format_measurement(Measurement measurement) {
return "%.2f".printf(measurement.value);
@@ -386,10 +388,12 @@ public class CustomPrintTab : Gtk.Box {
return format_measurement(converted_measurement);
}
+#if 0
private bool on_ppi_entry_focus_out(Gdk.EventFocus event) {
set_content_ppi(int.parse(ppi_entry.get_text()));
return false;
}
+ #endif
private void on_ppi_entry_insert_text(Gtk.Editable editable, string text, int length,
ref int position) {
@@ -417,6 +421,7 @@ public class CustomPrintTab : Gtk.Box {
is_text_insertion_in_progress = false;
}
+#if 0
private bool on_height_entry_focus_out(Gdk.EventFocus event) {
if (custom_height_entry.get_text() == (format_measurement_as(local_content_height,
get_user_unit_choice())))
@@ -443,6 +448,7 @@ public class CustomPrintTab : Gtk.Box {
custom_height_entry.set_text(format_measurement(new_height));
return false;
}
+ #endif
private MeasurementUnit get_user_unit_choice() {
if (units_combo.get_active() == INCHES_COMBO_CHOICE) {
@@ -526,6 +532,7 @@ public class CustomPrintTab : Gtk.Box {
}
private void on_radio_group_click(Gtk.Button b) {
+ #if 0
Gtk.RadioButton sender = (Gtk.RadioButton) b;
if (sender == standard_size_radio) {
@@ -537,6 +544,7 @@ public class CustomPrintTab : Gtk.Box {
} else if (sender == image_per_page_radio) {
set_content_layout_control_state(ContentLayout.IMAGE_PER_PAGE);
}
+ #endif
}
private void on_units_combo_changed() {
diff --git a/src/Properties.vala b/src/Properties.vala
index 181957ba..a29f1892 100644
--- a/src/Properties.vala
+++ b/src/Properties.vala
@@ -13,7 +13,7 @@ private abstract class Properties : Gtk.Box {
grid.row_spacing = 6;
grid.column_spacing = 12;
- pack_start(grid, false, false, 0);
+ append(grid);
}
protected void add_line(string label_text, string info_text, bool multi_line = false, string? href =
null) {
@@ -26,8 +26,7 @@ private abstract class Properties : Gtk.Box {
label.set_markup(GLib.Markup.printf_escaped("<span font_weight=\"bold\">%s</span>", label_text));
if (multi_line) {
- Gtk.ScrolledWindow info_scroll = new Gtk.ScrolledWindow(null, null);
- info_scroll.shadow_type = Gtk.ShadowType.NONE;
+ Gtk.ScrolledWindow info_scroll = new Gtk.ScrolledWindow();
Gtk.TextView view = new Gtk.TextView();
// by default TextView widgets have a white background, which
// makes sense during editing. In this instance we only *show*
@@ -39,7 +38,7 @@ private abstract class Properties : Gtk.Box {
view.set_editable(false);
view.buffer.text = is_string_empty(info_text) ? "" : info_text;
view.hexpand = true;
- info_scroll.add(view);
+ info_scroll.set_child(view);
label.halign = Gtk.Align.END;
label.valign = Gtk.Align.START;
info = (Gtk.Widget) info_scroll;
@@ -144,8 +143,8 @@ private abstract class Properties : Gtk.Box {
}
protected virtual void clear_properties() {
- foreach (Gtk.Widget child in grid.get_children())
- grid.remove(child);
+ //foreach (Gtk.Widget child in grid.get_children())
+ // grid.remove(child);
line_count = 0;
}
@@ -153,7 +152,7 @@ private abstract class Properties : Gtk.Box {
public void update_properties(Page page) {
clear_properties();
internal_update_properties(page);
- show_all();
+ show();
}
public virtual void internal_update_properties(Page page) {
diff --git a/src/Resources.vala b/src/Resources.vala
index 58283618..08d86a07 100644
--- a/src/Resources.vala
+++ b/src/Resources.vala
@@ -579,6 +579,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
return cached_pixbuf;
try {
+ #if 0
var theme = Gtk.IconTheme.get_default();
var info = theme.lookup_icon ("filter-videos-symbolic", (int)(scale * 2),
Gtk.IconLookupFlags.GENERIC_FALLBACK);
var icon = info.load_symbolic({0.8, 0.8, 0.8, 1.0}, null, null, null);
@@ -592,6 +593,8 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
trinket_cache[cache_key] = Gdk.pixbuf_get_from_surface(surface, 0, 0, icon.width, icon.height);
return trinket_cache[cache_key];
+ #endif
+ return null;
} catch (Error err) {
critical ("%s", err.message);
@@ -607,9 +610,9 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
return cached_pixbuf;
try {
- var theme = Gtk.IconTheme.get_default();
- var info = theme.lookup_icon ("filter-flagged-symbolic", (int)(scale * 1.33),
Gtk.IconLookupFlags.GENERIC_FALLBACK);
- var icon = info.load_symbolic({0.8, 0.8, 0.8, 1.0}, null, null, null);
+ #if 0
+ var theme = Gtk.IconTheme.get_for_display (Gdk.Display.get_default());
+ var icon = theme.lookup_icon ("filter-flagged-symbolic", null, -1, Gtk.TextDirection.NONE,
(int)(scale * 1.33), 0);
var surface = new Cairo.ImageSurface(Cairo.Format.ARGB32, icon.width, icon.height);
var ctx = new Cairo.Context(surface);
ctx.set_source_rgba(0.0, 0.0, 0.0, 0.35);
@@ -620,6 +623,8 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
trinket_cache[cache_key] = Gdk.pixbuf_get_from_surface(surface, 0, 0, icon.width, icon.height);
return trinket_cache[cache_key];
+ #endif
+ return null;
} catch (Error err) {
critical ("%s", err.message);
@@ -998,11 +1003,11 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
private void init_css_provider() {
Gtk.CssProvider provider = new Gtk.CssProvider();
provider.load_from_resource("/org/gnome/Shotwell/themes/org.gnome.Shotwell.css");
- Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+ Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(), provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
}
private void init_icon_theme_engine() {
- Gtk.IconTheme icon_theme = Gtk.IconTheme.get_default();
+ Gtk.IconTheme icon_theme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default());
icon_theme.add_resource_path("/org/gnome/Shotwell/icons");
icon_theme.add_resource_path("/org/gnome/Shotwell/icons/hicolor");
}
@@ -1045,6 +1050,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
}
public Gdk.Pixbuf? load_icon(string name, int scale = DEFAULT_ICON_SCALE) {
+ #if 0
Gdk.Pixbuf pixbuf = null;
try {
var theme = Gtk.IconTheme.get_default();
@@ -1067,6 +1073,9 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
return null;
return (scale > 0) ? scale_pixbuf(pixbuf, scale, Gdk.InterpType.BILINEAR, false) : pixbuf;
+ #endif
+ // TODO
+ return null;
}
// Get the directory where our help files live. Returns a string
@@ -1134,7 +1143,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
uri += anchor;
}
- Gtk.show_uri_on_window(window, uri, Gdk.CURRENT_TIME);
+ Gtk.show_uri(window, uri, Gdk.CURRENT_TIME);
}
public const int ALL_DATA = -1;
diff --git a/src/SearchFilter.vala b/src/SearchFilter.vala
index 9a88cf2e..f72e94ab 100644
--- a/src/SearchFilter.vala
+++ b/src/SearchFilter.vala
@@ -620,7 +620,7 @@ public class SearchFilterActions {
}
public class SearchFilterToolbar : Gtk.Revealer {
- private Gtk.Toolbar toolbar;
+ private Gtk.Box toolbar;
private const int FILTER_BUTTON_MARGIN = 12; // the distance between icon and edge of button
private const float FILTER_ICON_STAR_SCALE = 0.65f; // changes the size of the filter icon
private const float FILTER_ICON_SCALE = 0.75f; // changes the size of the all photos icon
@@ -630,7 +630,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
// filter_icon_plus_width is the width (in px) of the plus icon
private const int FILTER_ICON_PLUS_WIDTH = 20;
- private class LabelToolItem : Gtk.ToolItem {
+ private class LabelToolItem : Gtk.Box {
private Gtk.Label label;
public LabelToolItem(string s, int left_padding = 0, int right_padding = 0) {
@@ -641,11 +641,11 @@ public class SearchFilterToolbar : Gtk.Revealer {
label.margin_start = left_padding;
label.margin_end = right_padding;
}
- add (label);
+ append (label);
}
}
- private class ToggleActionToolButton : Gtk.ToolItem {
+ private class ToggleActionToolButton : Gtk.Box {
private Gtk.ToggleButton button;
public ToggleActionToolButton(string action) {
@@ -653,17 +653,14 @@ public class SearchFilterToolbar : Gtk.Revealer {
button.set_can_focus(false);
button.set_action_name (action);
button.set_has_tooltip(true);
- button.set_relief(Gtk.ReliefStyle.NONE);
button.set_margin_start(2);
- this.add(button);
+ this.append (button);
}
public void set_icon_name(string icon_name) {
Gtk.Image? image = null;
- button.set_always_show_image(true);
- image = new Gtk.Image.from_icon_name(icon_name, Gtk.IconSize.SMALL_TOOLBAR);
- button.set_image(image);
+ image = new Gtk.Image.from_icon_name(icon_name);
if (button.get_label() != "" && button.get_label() != null) {
image.margin_end = 6;
}
@@ -678,11 +675,13 @@ public class SearchFilterToolbar : Gtk.Revealer {
// Ticket #3260 - Add a 'close' context menu to
// the searchbar.
// The close menu. Populated below in the constructor.
+ #if 0
private Gtk.Menu close_menu = new Gtk.Menu();
private Gtk.MenuItem close_item = new Gtk.MenuItem();
+ #endif
// Text search box.
- protected class SearchBox : Gtk.ToolItem {
+ protected class SearchBox : Gtk.Box {
private Gtk.SearchEntry search_entry;
private TextAction action;
@@ -691,8 +690,8 @@ public class SearchFilterToolbar : Gtk.Revealer {
search_entry = new Gtk.SearchEntry();
search_entry.width_chars = 23;
- search_entry.key_press_event.connect(on_escape_key);
- add(search_entry);
+ //search_entry.key_press_event.connect(on_escape_key);
+ append(search_entry);
set_nullable_text(action.value);
@@ -700,8 +699,8 @@ public class SearchFilterToolbar : Gtk.Revealer {
action.sensitivity_changed.connect(on_sensitivity_changed);
action.visibility_changed.connect(on_visibility_changed);
- search_entry.buffer.deleted_text.connect(on_entry_changed);
- search_entry.buffer.inserted_text.connect(on_entry_changed);
+ search_entry.delete_text.connect(on_entry_changed);
+ search_entry.insert_text.connect(on_entry_changed);
}
~SearchBox() {
@@ -709,14 +708,15 @@ public class SearchFilterToolbar : Gtk.Revealer {
action.sensitivity_changed.disconnect(on_sensitivity_changed);
action.visibility_changed.disconnect(on_visibility_changed);
- search_entry.buffer.deleted_text.disconnect(on_entry_changed);
- search_entry.buffer.inserted_text.disconnect(on_entry_changed);
+ search_entry.delete_text.disconnect(on_entry_changed);
+ search_entry.insert_text.disconnect(on_entry_changed);
}
public void get_focus() {
- search_entry.has_focus = true;
}
+
+ #if 0
// Ticket #3124 - user should be able to clear
// the search textbox by typing 'Esc'.
private bool on_escape_key(Gdk.EventKey e) {
@@ -727,13 +727,14 @@ public class SearchFilterToolbar : Gtk.Revealer {
// text entry functionality needs to see it too.
return false;
}
+ #endif
private void on_action_text_changed(string? text) {
- search_entry.buffer.deleted_text.disconnect(on_entry_changed);
- search_entry.buffer.inserted_text.disconnect(on_entry_changed);
+ //search_entry.get_buffer().buffer.deleted_text.disconnect(on_entry_changed);
+ //search_entry.get_buffer().inserted_text.disconnect(on_entry_changed);
set_nullable_text(text);
- search_entry.buffer.deleted_text.connect(on_entry_changed);
- search_entry.buffer.inserted_text.connect(on_entry_changed);
+ //search_entry.buffer.deleted_text.connect(on_entry_changed);
+ //search_entry.buffer.inserted_text.connect(on_entry_changed);
}
private void on_entry_changed() {
@@ -756,21 +757,20 @@ public class SearchFilterToolbar : Gtk.Revealer {
}
// Handles ratings filters.
- protected class RatingFilterButton : Gtk.ToolItem {
+ protected class RatingFilterButton : Gtk.Box {
public Gtk.MenuButton button;
public RatingFilterButton(GLib.MenuModel model) {
button = new Gtk.MenuButton();
- button.set_image (get_filter_icon(RatingFilter.UNRATED_OR_HIGHER));
+ // TODO button.set_image (get_filter_icon(RatingFilter.UNRATED_OR_HIGHER));
button.set_can_focus(false);
- button.set_relief(Gtk.ReliefStyle.NONE);
button.set_margin_start(2);
button.set_menu_model (model);
set_homogeneous(false);
- this.add(button);
+ this.append(button);
}
private Gtk.Widget get_filter_icon(RatingFilter filter) {
@@ -779,22 +779,22 @@ public class SearchFilterToolbar : Gtk.Revealer {
switch (filter) {
case RatingFilter.REJECTED_OR_HIGHER:
var box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 0);
- var image = new Gtk.Image.from_icon_name ("emblem-photos-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
+ var image = new Gtk.Image.from_icon_name ("emblem-photos-symbolic");
image.margin_end = 2;
- box.pack_start(image);
- image = new Gtk.Image.from_icon_name ("window-close-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
- box.pack_start(image);
+ box.append(image);
+ image = new Gtk.Image.from_icon_name ("window-close-symbolic");
+ box.append(image);
icon = box;
- icon.show_all();
+ icon.show();
break;
case RatingFilter.REJECTED_ONLY:
- icon = new Gtk.Image.from_icon_name ("window-close-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
+ icon = new Gtk.Image.from_icon_name ("window-close-symbolic");
break;
case RatingFilter.UNRATED_OR_HIGHER:
default:
- icon = new Gtk.Image.from_icon_name ("emblem-photos-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
+ icon = new Gtk.Image.from_icon_name ("emblem-photos-symbolic");
break;
}
@@ -832,7 +832,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
}
public void set_filter_icon(RatingFilter filter) {
- button.set_always_show_image(true);
+ //button.set_always_show_image(true);
switch (filter) {
case RatingFilter.ONE_OR_HIGHER:
button.set_label (_("★+ Rating"));
@@ -852,14 +852,14 @@ public class SearchFilterToolbar : Gtk.Revealer {
break;
default:
button.set_label (_("Rating"));
- button.set_image(get_filter_icon(filter));
+ //button.set_image(get_filter_icon(filter));
break;
}
set_size_request(get_filter_button_size(filter), -1);
set_tooltip_text(Resources.get_rating_filter_tooltip(filter));
set_has_tooltip(true);
- show_all();
+ show();
}
private int get_filter_button_size(RatingFilter filter) {
@@ -872,7 +872,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
}
- protected class SavedSearchFilterButton : Gtk.ToolItem {
+ protected class SavedSearchFilterButton : Gtk.Box {
public SavedSearchPopover filter_popup = null;
public Gtk.ToggleButton button;
@@ -880,11 +880,10 @@ public class SearchFilterToolbar : Gtk.Revealer {
public SavedSearchFilterButton() {
button = new Gtk.ToggleButton();
- button.set_always_show_image(true);
- Gtk.Image? image = new Gtk.Image.from_icon_name("edit-find-symbolic",
Gtk.IconSize.SMALL_TOOLBAR);
+ Gtk.Image? image = new Gtk.Image.from_icon_name("edit-find-symbolic");
image.set_margin_end(6);
- button.set_image(image);
+ //button.set_image(image);
button.set_can_focus(false);
button.clicked.connect(on_clicked);
@@ -893,7 +892,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
set_homogeneous(false);
- this.add(button);
+ this.append(button);
}
~SavedSearchFilterButton() {
@@ -914,7 +913,6 @@ public class SearchFilterToolbar : Gtk.Revealer {
public void restyle() {
button.set_size_request(24, 24);
- button.relief = Gtk.ReliefStyle.NONE;
}
}
@@ -932,16 +930,16 @@ public class SearchFilterToolbar : Gtk.Revealer {
public signal void closed();
- private class DataButton : Gtk.Bin {
+ private class DataButton : Gtk.Box {
private Gtk.Button button = null;
public SavedSearch search { get; private set; }
public signal void clicked(SavedSearch search);
public DataButton(SavedSearch search, string name) {
- button = new Gtk.Button.from_icon_name(name, Gtk.IconSize.SMALL_TOOLBAR);
+ button = new Gtk.Button.from_icon_name(name);
this.search = search;
- this.add(button);
+ this.append(button);
restyle();
@@ -954,7 +952,6 @@ public class SearchFilterToolbar : Gtk.Revealer {
public void restyle() {
button.set_size_request(24, 24);
- button.relief = Gtk.ReliefStyle.NONE;
}
private void on_click() {
@@ -963,7 +960,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
}
public SavedSearchPopover(Gtk.Widget relative_to) {
- popover = new Gtk.Popover(relative_to);
+ popover = new Gtk.Popover();
popover.closed.connect(on_popover_closed);
list_box = new Gtk.ListBox();
edit_buttons = new DataButton[0];
@@ -974,26 +971,26 @@ public class SearchFilterToolbar : Gtk.Revealer {
row.set_homogeneous(false);
Gtk.Label label = new Gtk.Label(search.get_name());
label.halign = Gtk.Align.START;
- row.pack_start(label, true, true, 3);
+ row.append(label);
DataButton delete_button = new DataButton(search, "edit-delete-symbolic");
- row.pack_end(delete_button, false, false);
+ row.append(delete_button);
delete_button.clicked.connect(on_delete_click);
delete_buttons += delete_button;
DataButton edit_button = new DataButton(search, "text-editor-symbolic");
- row.pack_end(edit_button, false, false);
+ row.append(edit_button);
edit_button.clicked.connect(on_edit_click);
edit_buttons += edit_button;
list_box.insert(row, -1);
}
- add = new Gtk.Button.from_icon_name("list-add-symbolic", Gtk.IconSize.BUTTON);
+ add = new Gtk.Button.from_icon_name("list-add-symbolic");
add.clicked.connect(on_add_click);
list_box.insert(add, -1);
list_box.row_activated.connect(on_activate_row);
list_box.selection_mode = Gtk.SelectionMode.NONE;
- popover.add(list_box);
+ popover.set_child(list_box);
restyle();
}
@@ -1007,21 +1004,24 @@ public class SearchFilterToolbar : Gtk.Revealer {
}
public void restyle() {
- add.relief = Gtk.ReliefStyle.NONE;
foreach (DataButton button in edit_buttons) button.restyle();
foreach (DataButton button in delete_buttons) button.restyle();
}
private bool is_search_row(Gtk.ListBoxRow? row) {
if (row == null) return false;
- if (row.get_children().last().data is Gtk.Button) return false;
+ if (row.get_child() is Gtk.Button) return false;
return true;
}
- private SavedSearch get_search(Gtk.ListBoxRow row) {
- var box = (Gtk.Box) row.get_children().first().data;
- DataButton button = box.get_children().last().data as DataButton;
+ private SavedSearch? get_search(Gtk.ListBoxRow row) {
+ #if 0
+ var box = (Gtk.Box) row.get_child();
+ DataButton button; // = box.get_children().last().data as DataButton;
return button.search;
+ #endif
+
+ return null;
}
private void on_activate_row(Gtk.ListBoxRow? row) {
@@ -1047,7 +1047,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
}
public void show_all() {
- popover.show_all();
+ popover.show();
}
public void hide() {
@@ -1069,18 +1069,14 @@ public class SearchFilterToolbar : Gtk.Revealer {
private ToggleActionToolButton toolbtn_videos;
private ToggleActionToolButton toolbtn_raw;
private ToggleActionToolButton toolbtn_flag;
- private Gtk.SeparatorToolItem sepr_mediatype_flagged;
- private Gtk.SeparatorToolItem sepr_flagged_rating;
- private Gtk.SeparatorToolItem sepr_rating_saved;
public SearchFilterToolbar(SearchFilterActions actions) {
this.actions = actions;
- toolbar = new Gtk.Toolbar();
+ toolbar = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 6);
actions.media_context_changed.connect(on_media_context_changed);
search_box = new SearchBox(actions.text);
toolbar.set_name("search-filter-toolbar");
- toolbar.set_icon_size(Gtk.IconSize.SMALL_TOOLBAR);
try {
this.builder.add_from_resource (Resources.get_ui("search_bar.ui"));
@@ -1094,14 +1090,16 @@ public class SearchFilterToolbar : Gtk.Revealer {
// Prepare the close menu for use, but don't
// display it yet; we'll connect it to secondary
// click later on.
+ #if 0
close_item.set_label(_("Close"));
close_item.show();
close_item.activate.connect(on_context_menu_close_chosen);
close_menu.append(close_item);
+ #endif
// Type label and toggles
label_type = new LabelToolItem(_("Type"), 10, 5);
- toolbar.insert(label_type, -1);
+ toolbar.append(label_type);
toolbtn_photos = new ToggleActionToolButton("win.display.photos");
toolbtn_photos.set_tooltip_text (_("Photos"));
@@ -1112,13 +1110,11 @@ public class SearchFilterToolbar : Gtk.Revealer {
toolbtn_raw = new ToggleActionToolButton("win.display.raw");
toolbtn_raw.set_tooltip_text(_("RAW Photos"));
- toolbar.insert(toolbtn_photos, -1);
- toolbar.insert(toolbtn_videos, -1);
- toolbar.insert(toolbtn_raw, -1);
+ toolbar.append(toolbtn_photos);
+ toolbar.append(toolbtn_videos);
+ toolbar.append(toolbtn_raw);
// separator
- sepr_mediatype_flagged = new Gtk.SeparatorToolItem();
- toolbar.insert(sepr_mediatype_flagged, -1);
// Flagged button
@@ -1126,40 +1122,30 @@ public class SearchFilterToolbar : Gtk.Revealer {
toolbtn_flag.set_label(_("Flagged"));
toolbtn_flag.set_tooltip_text(_("Flagged"));
- toolbar.insert(toolbtn_flag, -1);
+ toolbar.append(toolbtn_flag);
// separator
- sepr_flagged_rating = new Gtk.SeparatorToolItem();
- toolbar.insert(sepr_flagged_rating, -1);
// Rating button
var model = this.builder.get_object ("popup-menu") as GLib.MenuModel;
rating_button = new RatingFilterButton (model);
rating_button.set_label(_("Rating"));
- rating_button.set_expand(false);
- toolbar.insert(rating_button, -1);
+ toolbar.append(rating_button);
// separator
- sepr_rating_saved = new Gtk.SeparatorToolItem();
- toolbar.insert(sepr_rating_saved, -1);
// Saved search button
- saved_search_button.set_expand(false);
saved_search_button.set_label(_("Saved Search"));
saved_search_button.set_tooltip_text(_("Use a saved search to filter items in the current view"));
saved_search_button.clicked.connect(on_saved_search_button_clicked);
- toolbar.insert(saved_search_button, -1);
+ toolbar.append(saved_search_button);
// Separator to right-align the text box
- Gtk.SeparatorToolItem separator_align = new Gtk.SeparatorToolItem();
- separator_align.set_expand(true);
- separator_align.set_draw(false);
- toolbar.insert(separator_align, -1);
// Search box.
- toolbar.insert(search_box, -1);
+ toolbar.append(search_box);
- add(toolbar);
+ set_child (toolbar);
// hook up signals to actions to be notified when they change
actions.flagged_toggled.connect(on_flagged_toggled);
@@ -1171,7 +1157,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
actions.criteria_changed.connect(on_criteria_changed);
// #3260 part II Hook up close menu.
- toolbar.popup_context_menu.connect(on_context_menu_requested);
+ //toolbar.popup_context_menu.connect(on_context_menu_requested);
on_media_context_changed(actions.get_has_photos(), actions.get_has_videos(),
actions.get_has_raw(), actions.get_has_flagged());
@@ -1189,7 +1175,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
actions.text_changed.disconnect(on_search_text_changed);
actions.criteria_changed.disconnect(on_criteria_changed);
- toolbar.popup_context_menu.disconnect(on_context_menu_requested);
+ //toolbar.popup_context_menu.disconnect(on_context_menu_requested);
}
private void on_media_context_changed(bool has_photos, bool has_videos, bool has_raw,
@@ -1219,7 +1205,7 @@ public class SearchFilterToolbar : Gtk.Revealer {
// Ticket #3260 part IV - display the context menu on secondary click
private bool on_context_menu_requested(int x, int y, int button) {
- close_menu.popup_at_pointer(null);
+ //close_menu.popup_at_pointer(null);
return false;
}
@@ -1344,10 +1330,10 @@ public class SearchFilterToolbar : Gtk.Revealer {
// Ticket #3290, part IV - ensure that the separators
// are shown and/or hidden as needed.
- sepr_mediatype_flagged.visible = (label_type.visible && toolbtn_flag.visible);
+ //sepr_mediatype_flagged.visible = (label_type.visible && toolbtn_flag.visible);
- sepr_flagged_rating.visible = ((label_type.visible && rating_button.visible) ||
- (toolbtn_flag.visible && rating_button.visible));
+ //sepr_flagged_rating.visible = ((label_type.visible && rating_button.visible) ||
+ // (toolbtn_flag.visible && rating_button.visible));
// Send update to view collection.
search_filter.refresh();
diff --git a/src/SinglePhotoPage.vala b/src/SinglePhotoPage.vala
index d87b891c..c239e24a 100644
--- a/src/SinglePhotoPage.vala
+++ b/src/SinglePhotoPage.vala
@@ -47,15 +47,11 @@ public abstract class SinglePhotoPage : Page {
// should never be shown, but this may change if/when zooming is supported
set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
- set_border_width(0);
- set_shadow_type(Gtk.ShadowType.NONE);
+ viewport.set_child(canvas);
- viewport.set_shadow_type(Gtk.ShadowType.NONE);
- viewport.set_border_width(0);
- viewport.add(canvas);
-
- add(viewport);
+ set_child(viewport);
+#if 0
canvas.add_events(Gdk.EventMask.EXPOSURE_MASK | Gdk.EventMask.STRUCTURE_MASK
| Gdk.EventMask.SUBSTRUCTURE_MASK);
@@ -63,6 +59,7 @@ public abstract class SinglePhotoPage : Page {
canvas.draw.connect(on_canvas_exposed);
set_event_source(canvas);
+ #endif
Config.Facade.get_instance().colors_changed.connect(on_colors_changed);
}
@@ -285,13 +282,11 @@ public abstract class SinglePhotoPage : Page {
}
public void invalidate(Gdk.Rectangle rect) {
- if (canvas.get_window() != null)
- canvas.get_window().invalidate_rect(rect, false);
+ queue_draw();
}
public void invalidate_all() {
- if (canvas.get_window() != null)
- canvas.get_window().invalidate_rect(null, false);
+ canvas.queue_draw ();
}
private void on_viewport_resize() {
@@ -299,12 +294,15 @@ public abstract class SinglePhotoPage : Page {
internal_repaint(true, null);
}
+#if 0
+// TODO
protected override void on_resize_finished(Gdk.Rectangle rect) {
base.on_resize_finished(rect);
// when the resize is completed, do a high-quality repaint
repaint();
}
+ #endif
private bool on_canvas_exposed(Cairo.Context exposed_ctx) {
// draw pixmap onto canvas unless it's not been instantiated, in which case draw black
@@ -366,7 +364,7 @@ public abstract class SinglePhotoPage : Page {
}
// no image or window, no painting
- if (unscaled == null || canvas.get_window() == null)
+ if (unscaled == null /*|| canvas.get_window() == null*/)
return;
Gtk.Allocation allocation;
@@ -451,7 +449,7 @@ public abstract class SinglePhotoPage : Page {
private void init_pixmap(int width, int height) {
assert(unscaled != null);
- assert(canvas.get_window() != null);
+ //assert(canvas.get_window() != null);
// Cairo backing surface (manual double-buffering)
pixmap = new Cairo.ImageSurface(Cairo.Format.ARGB32, width, height);
@@ -474,7 +472,8 @@ public abstract class SinglePhotoPage : Page {
}
protected override bool on_context_keypress() {
- return popup_context_menu(get_page_context_menu());
+ //return popup_context_menu(get_page_context_menu());
+ return true;
}
protected virtual void on_previous_photo() {
@@ -483,6 +482,7 @@ public abstract class SinglePhotoPage : Page {
protected virtual void on_next_photo() {
}
+#if 0
public override bool key_press_event(Gdk.EventKey event) {
// if the user holds the arrow keys down, we will receive a steady stream of key press
// events for an operation that isn't designed for a rapid succession of output ...
@@ -519,6 +519,7 @@ public abstract class SinglePhotoPage : Page {
return (base.key_press_event != null) ? base.key_press_event(event) : true;
}
+ #endif
private void on_colors_changed() {
invalidate_transparent_background();
diff --git a/src/SlideshowPage.vala b/src/SlideshowPage.vala
index adfec7f9..ee1ea798 100644
--- a/src/SlideshowPage.vala
+++ b/src/SlideshowPage.vala
@@ -11,8 +11,8 @@ class SlideshowPage : SinglePhotoPage {
private SourceCollection sources;
private ViewCollection controller;
private Photo current;
- private Gtk.ToolButton play_pause_button;
- private Gtk.ToolButton settings_button;
+ private Gtk.Button play_pause_button;
+ private Gtk.Button settings_button;
private PixbufCache cache = null;
private Timer timer = new Timer();
private bool playing = true;
@@ -130,38 +130,37 @@ class SlideshowPage : SinglePhotoPage {
update_transition_effect();
// Set up toolbar
- Gtk.Toolbar toolbar = get_toolbar();
+ var toolbar = get_toolbar();
// add toolbar buttons
- Gtk.ToolButton previous_button = new Gtk.ToolButton(null, _("Back"));
+ Gtk.Button previous_button = new Gtk.Button.with_label(_("Back"));
previous_button.set_icon_name("go-previous-symbolic");
previous_button.set_tooltip_text(_("Go to the previous photo"));
previous_button.clicked.connect(on_previous_photo);
- toolbar.insert(previous_button, -1);
+ toolbar.append(previous_button);
- play_pause_button = new Gtk.ToolButton(null, _("Pause"));
+ play_pause_button = new Gtk.Button.with_label( _("Pause"));
play_pause_button.set_icon_name("media-playback-pause-symbolic");
play_pause_button.set_tooltip_text(_("Pause the slideshow"));
play_pause_button.clicked.connect(on_play_pause);
- toolbar.insert(play_pause_button, -1);
+ toolbar.append(play_pause_button);
- Gtk.ToolButton next_button = new Gtk.ToolButton(null, _("Next"));
+ Gtk.Button next_button = new Gtk.Button.with_label(_("Next"));
next_button.set_icon_name("go-next-symbolic");
next_button.set_tooltip_text(_("Go to the next photo"));
next_button.clicked.connect(on_next_photo);
- toolbar.insert(next_button, -1);
+ toolbar.append(next_button);
- settings_button = new Gtk.ToolButton(null, null);
+ settings_button = new Gtk.Button();
settings_button.set_icon_name("preferences-system-symbolic");
settings_button.set_label(_("Settings"));
settings_button.set_tooltip_text(_("Change slideshow settings"));
settings_button.clicked.connect(on_change_settings);
- settings_button.is_important = true;
- toolbar.insert(settings_button, -1);
+ toolbar.append(settings_button);
screensaver = new Screensaver();
}
@@ -337,6 +336,7 @@ class SlideshowPage : SinglePhotoPage {
return true;
}
+ #if 0
public override bool key_press_event(Gdk.EventKey event) {
bool handled = true;
switch (Gdk.keyval_name(event.keyval)) {
@@ -360,16 +360,18 @@ class SlideshowPage : SinglePhotoPage {
return (base.key_press_event != null) ? base.key_press_event(event) : true;
}
+ #endif
private void on_change_settings() {
SettingsDialog settings_dialog = new SettingsDialog();
- settings_dialog.show_all();
+ settings_dialog.show();
bool slideshow_playing = playing;
playing = false;
hide_toolbar();
suspend_cursor_hiding();
-
+ #if 0
+ // TODO
if (settings_dialog.run() == Gtk.ResponseType.OK) {
// sync with the config setting so it will persist
Config.Facade.get_instance().set_slideshow_delay(settings_dialog.get_delay());
@@ -380,6 +382,7 @@ class SlideshowPage : SinglePhotoPage {
update_transition_effect();
}
+ #endif
settings_dialog.destroy();
restore_cursor_hiding();
diff --git a/src/camera/Camera.vala b/src/camera/Camera.vala
index 891507e7..291daa4a 100644
--- a/src/camera/Camera.vala
+++ b/src/camera/Camera.vala
@@ -7,11 +7,11 @@
namespace Camera {
public void init() throws Error {
- Camera.Branch.init();
+ //Camera.Branch.init();
}
public void terminate() {
- Camera.Branch.terminate();
+ //Camera.Branch.terminate();
}
}
diff --git a/src/camera/ImportPage.vala b/src/camera/ImportPage.vala
index 7b82a6d0..5d0c61f9 100644
--- a/src/camera/ImportPage.vala
+++ b/src/camera/ImportPage.vala
@@ -285,9 +285,11 @@ class ImportPreview : MediaSourceItem {
bool using_placeholder = (pixbuf == null);
if (pixbuf == null) {
if (placeholder_preview == null) {
+ #if 0
placeholder_preview = get_placeholder_pixbuf();
placeholder_preview = scale_pixbuf(placeholder_preview, MAX_SCALE,
Gdk.InterpType.BILINEAR, true);
+ #endif
}
pixbuf = placeholder_preview;
@@ -753,75 +755,56 @@ public class ImportPage : CheckerboardPage {
Video.global.contents_altered.disconnect(on_media_added_removed);
}
- public override Gtk.Toolbar get_toolbar() {
+ public override Gtk.Box get_toolbar() {
if (toolbar == null) {
base.get_toolbar();
// hide duplicates checkbox
hide_imported = new Gtk.CheckButton.with_label(_("Hide photos already imported"));
hide_imported.set_tooltip_text(_("Only display photos that have not been imported"));
- hide_imported.clicked.connect(on_hide_imported);
+ hide_imported.toggled.connect(on_hide_imported);
hide_imported.sensitive = false;
hide_imported.active = Config.Facade.get_instance().get_hide_photos_already_imported();
- Gtk.ToolItem hide_item = new Gtk.ToolItem();
- hide_item.is_important = true;
- hide_item.add(hide_imported);
- toolbar.insert(hide_item, -1);
-
- // separator to force buttons to right side of toolbar
- Gtk.SeparatorToolItem separator = new Gtk.SeparatorToolItem();
- separator.set_draw(false);
-
- toolbar.insert(separator, -1);
+ toolbar.append(hide_imported);
// progress bar in center of toolbar
progress_bar.set_orientation(Gtk.Orientation.HORIZONTAL);
progress_bar.visible = false;
- Gtk.ToolItem progress_item = new Gtk.ToolItem();
- progress_item.set_expand(true);
- progress_item.add(progress_bar);
progress_bar.set_show_text(true);
- toolbar.insert(progress_item, -1);
+ toolbar.append(progress_bar);
// Find button
- Gtk.ToggleToolButton find_button = new Gtk.ToggleToolButton();
+ Gtk.ToggleButton find_button = new Gtk.ToggleButton();
find_button.set_icon_name("edit-find-symbolic");
find_button.set_action_name ("win.CommonDisplaySearchbar");
- toolbar.insert(find_button, -1);
-
- // Separator
- toolbar.insert(new Gtk.SeparatorToolItem(), -1);
+ toolbar.append(find_button);
// Import selected
- Gtk.ToolButton import_selected_button = new Gtk.ToolButton(null, null);
- import_selected_button.set_icon_name(Resources.IMPORT);
+ Gtk.Button import_selected_button = new Gtk.Button.from_icon_name(Resources.IMPORT);
import_selected_button.set_label(_("Import _Selected"));
- import_selected_button.is_important = true;
import_selected_button.use_underline = true;
import_selected_button.set_action_name ("win.ImportSelected");
- toolbar.insert(import_selected_button, -1);
+ toolbar.append(import_selected_button);
// Import all
- Gtk.ToolButton import_all_button = new Gtk.ToolButton(null, null);
- import_all_button.set_icon_name(Resources.IMPORT_ALL);
+ Gtk.Button import_all_button = new Gtk.Button.from_icon_name(Resources.IMPORT_ALL);
import_all_button.set_label(_("Import _All"));
- import_all_button.is_important = true;
import_all_button.use_underline = true;
import_all_button.set_action_name ("win.ImportAll");
- toolbar.insert(import_all_button, -1);
+ toolbar.append(import_all_button);
// restrain the recalcitrant rascal! prevents the progress bar from being added to the
// show_all queue so we have more control over its visibility
- progress_bar.set_no_show_all(true);
+ progress_bar.set_visible(true);
update_toolbar_state();
- show_all();
+ show();
}
return toolbar;
@@ -1000,7 +983,7 @@ public class ImportPage : CheckerboardPage {
Gtk.ButtonsType.CANCEL, "%s", mounted_message);
dialog.title = Resources.APP_TITLE;
dialog.add_button(_("_Unmount"), Gtk.ResponseType.YES);
- int dialog_res = dialog.run();
+ int dialog_res = 0; // TODO dialog.run();
dialog.destroy();
if (dialog_res != Gtk.ResponseType.YES) {
@@ -1016,7 +999,7 @@ public class ImportPage : CheckerboardPage {
Gtk.DialogFlags.MODAL, Gtk.MessageType.WARNING,
Gtk.ButtonsType.OK, "%s", locked_message);
dialog.title = Resources.APP_TITLE;
- dialog.run();
+ // TODO dialog.run();
dialog.destroy();
set_page_message(_("Please close any other application using the camera."));
diff --git a/src/dialogs/AdjustDateTimeDialog.vala b/src/dialogs/AdjustDateTimeDialog.vala
index fc08a3f7..72838444 100644
--- a/src/dialogs/AdjustDateTimeDialog.vala
+++ b/src/dialogs/AdjustDateTimeDialog.vala
@@ -21,8 +21,8 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
Gtk.SpinButton minute;
Gtk.SpinButton second;
Gtk.ComboBoxText system;
- Gtk.RadioButton relativity_radio_button;
- Gtk.RadioButton batch_radio_button;
+ Gtk.ToggleButton relativity_radio_button;
+ Gtk.ToggleButton batch_radio_button;
Gtk.CheckButton modify_originals_check_button;
Gtk.Label notification;
@@ -51,7 +51,8 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
calendar = new Gtk.Calendar();
calendar.show_heading = false;
calendar.day_selected.connect(on_time_changed);
- calendar.month_changed.connect(on_time_changed);
+ calendar.next_month.connect(on_time_changed);
+ calendar.prev_month.connect(on_time_changed);
calendar.next_year.connect(on_time_changed);
calendar.prev_year.connect(on_time_changed);
@@ -82,22 +83,23 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
Gtk.Box clock = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 3);
- clock.pack_start(hour, false, false, 0);
- clock.pack_start(new Gtk.Label(":"), false, false, 0); // internationalize?
- clock.pack_start(minute, false, false, 0);
- clock.pack_start(new Gtk.Label(":"), false, false, 0);
- clock.pack_start(second, false, false, 0);
- clock.pack_start(system, false, false, 0);
+ clock.append(hour);
+ clock.append(new Gtk.Label(":"));
+ clock.append(minute);
+ clock.append(new Gtk.Label(":"));
+ clock.append(second);
+ clock.append(system);
set_default_response(Gtk.ResponseType.OK);
- relativity_radio_button = new Gtk.RadioButton.with_mnemonic(null,
+ relativity_radio_button = new Gtk.ToggleButton.with_mnemonic(
_("_Shift photos/videos by the same amount"));
relativity_radio_button.set_active(Config.Facade.get_instance().get_keep_relativity());
relativity_radio_button.sensitive = display_options && photo_count > 1;
- batch_radio_button = new Gtk.RadioButton.with_mnemonic(relativity_radio_button.get_group(),
+ batch_radio_button = new Gtk.ToggleButton.with_mnemonic(
_("Set _all photos/videos to this time"));
+ batch_radio_button.set_group (relativity_radio_button);
batch_radio_button.set_active(!Config.Facade.get_instance().get_keep_relativity());
batch_radio_button.sensitive = display_options && photo_count > 1;
batch_radio_button.toggled.connect(on_time_changed);
@@ -129,21 +131,21 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
combo.append_text(month_string);
}
- picker.pack_start(combo, false, false, 0);
+ picker.append(combo);
// Limits taken from GtkCalendar
var spin = new Gtk.SpinButton.with_range(0, int.MAX >> 9, 1);
- picker.pack_end(spin, false, false, 0);
+ picker.append(spin);
spin.bind_property("value", calendar, "year", GLib.BindingFlags.BIDIRECTIONAL);
combo.bind_property("active", calendar, "month", GLib.BindingFlags.BIDIRECTIONAL);
- time_content.pack_start(picker, false, false, 0);
- time_content.pack_start(calendar, true, false, 0);
- time_content.pack_start(clock, true, false, 0);
+ time_content.append(picker);
+ time_content.append(calendar);
+ time_content.append(clock);
if (display_options) {
- time_content.pack_start(relativity_radio_button, true, false, 0);
- time_content.pack_start(batch_radio_button, true, false, 0);
- time_content.pack_start(modify_originals_check_button, true, false, 0);
+ time_content.append(relativity_radio_button);
+ time_content.append(batch_radio_button);
+ time_content.append(modify_originals_check_button);
}
Gdk.Pixbuf preview = null;
@@ -160,25 +162,24 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
image_content.set_homogeneous(true);
Gtk.Image image = (preview != null) ? new Gtk.Image.from_pixbuf(preview) : new Gtk.Image();
original_time_label = new Gtk.Label(null);
- image_content.pack_start(image, true, false, 0);
- image_content.pack_start(original_time_label, true, false, 0);
+ image_content.append (image);
+ image_content.append(original_time_label);
Gtk.Box hbox = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 10);
- hbox.set_border_width(3);
- hbox.pack_start(image_content, true, false, 0);
- hbox.pack_start(time_content, true, false, 0);
+ hbox.append(image_content);
+ hbox.append(time_content);
hbox.halign = Gtk.Align.CENTER;
hbox.valign = Gtk.Align.CENTER;
hbox.hexpand = false;
hbox.vexpand = false;
- ((Gtk.Box) get_content_area()).pack_start(hbox, true, false, 0);
+ ((Gtk.Box) get_content_area()).append(hbox);
notification = new Gtk.Label("");
- notification.set_line_wrap(true);
+ notification.set_wrap(true);
notification.set_justify(Gtk.Justification.CENTER);
- ((Gtk.Box) get_content_area()).pack_start(notification, true, true, 0);
+ ((Gtk.Box) get_content_area()).append(notification);
original_time = source.get_exposure_time();
@@ -192,8 +193,7 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
}
private void set_time(Time time) {
- calendar.select_month(time.month, time.year + YEAR_OFFSET);
- calendar.select_day(time.day);
+ calendar.select_day(new DateTime.from_unix_local (time.mktime()));
calendar.notify_property("year");
calendar.notify_property("month");
@@ -233,7 +233,8 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
time.hour += ((system.get_active() == TimeSystem.PM) ? 12 : 0);
uint year, month, day;
- calendar.get_date(out year, out month, out day);
+ var dt = calendar.get_date();
+ dt.get_ymd (out year, out month, out day);
time.year = ((int) year) - YEAR_OFFSET;
time.month = (int) month;
time.day = (int) day;
@@ -245,11 +246,12 @@ public class AdjustDateTimeDialog : Gtk.Dialog {
public bool execute(out int64 time_shift, out bool keep_relativity,
out bool modify_originals) {
- show_all();
+ show();
bool response = false;
- if (run() == Gtk.ResponseType.OK) {
+ // TODO
+ if (-6 == Gtk.ResponseType.OK) {
if (no_original_time)
time_shift = (int64) get_time();
else
diff --git a/src/dialogs/EntryMultiCompletion.vala b/src/dialogs/EntryMultiCompletion.vala
index 8700f216..f915f526 100644
--- a/src/dialogs/EntryMultiCompletion.vala
+++ b/src/dialogs/EntryMultiCompletion.vala
@@ -17,6 +17,7 @@ public class EntryMultiCompletion : Gtk.EntryCompletion {
set_model(create_completion_store(completion_list));
set_text_column(0);
set_match_func(match_func);
+ match_selected.connect(on_match_selected);
}
private static Gtk.ListStore create_completion_store(Gee.Collection<string> completion_list) {
@@ -63,7 +64,7 @@ public class EntryMultiCompletion : Gtk.EntryCompletion {
}
}
- public override bool match_selected(Gtk.TreeModel model, Gtk.TreeIter iter) {
+ public bool on_match_selected(Gtk.TreeModel model, Gtk.TreeIter iter) {
string match;
model.get(iter, 0, out match);
diff --git a/src/dialogs/ExportDialog.vala b/src/dialogs/ExportDialog.vala
index 5a61dc4a..256dcce6 100644
--- a/src/dialogs/ExportDialog.vala
+++ b/src/dialogs/ExportDialog.vala
@@ -107,19 +107,14 @@ public class ExportDialog : Gtk.Dialog {
table.set_row_spacing(6);
table.set_column_spacing(12);
- table.set_border_width(18);
- ((Gtk.Box) get_content_area()).add(table);
+ ((Gtk.Box) get_content_area()).append(table);
// add buttons to action area
add_button(Resources.CANCEL_LABEL, Gtk.ResponseType.CANCEL);
ok_button = add_button(Resources.OK_LABEL, Gtk.ResponseType.OK);
set_default_response(Gtk.ResponseType.OK);
- ok_button.set_can_default(true);
- ok_button.has_default = true;
- set_default(ok_button);
-
if (current_constraint == ScaleConstraint.ORIGINAL) {
pixels_entry.sensitive = false;
quality_combo.sensitive = false;
@@ -178,7 +173,7 @@ public class ExportDialog : Gtk.Dialog {
// it's passed qualified as ref and not as out
public bool execute(out int scale, out ScaleConstraint constraint,
ref ExportFormatParameters parameters) {
- show_all();
+ show();
// if the export format mode isn't set to last (i.e., don't use the persisted settings),
// reset the scale constraint to original size
@@ -195,7 +190,7 @@ public class ExportDialog : Gtk.Dialog {
format_set_active_text(get_label_for_parameters(parameters));
on_format_changed();
- bool ok = (run() == Gtk.ResponseType.OK);
+ bool ok = false; //(run() == Gtk.ResponseType.OK);
if (ok) {
int index = constraint_combo.get_active();
assert(index >= 0);
diff --git a/src/dialogs/MultiTextEntryDialog.vala b/src/dialogs/MultiTextEntryDialog.vala
index ddbd59be..6b847a9d 100644
--- a/src/dialogs/MultiTextEntryDialog.vala
+++ b/src/dialogs/MultiTextEntryDialog.vala
@@ -19,7 +19,7 @@ public class MultiTextEntryDialog : Gtk.Dialog {
public void setup(OnModifyValidateType? modify_validate, string title, string label, string?
initial_text) {
set_title(title);
- set_parent_window(AppWindow.get_instance().get_parent_window());
+ //set_parent_window(AppWindow.get_instance().get_parent_window());
set_transient_for(AppWindow.get_instance());
on_modify_validate = modify_validate;
@@ -31,10 +31,13 @@ public class MultiTextEntryDialog : Gtk.Dialog {
public string? execute() {
string? text = null;
- show_all();
+ show();
+ #if 0
+ // TODO
if (run() == Gtk.ResponseType.OK)
text = entry.buffer.text;
+ #endif
destroy();
diff --git a/src/dialogs/Preferences.vala b/src/dialogs/Preferences.vala
index c6d63868..200b76ce 100644
--- a/src/dialogs/Preferences.vala
+++ b/src/dialogs/Preferences.vala
@@ -28,7 +28,7 @@ public class PreferencesDialog : Gtk.Dialog {
private SortedList<AppInfo> external_raw_apps;
private SortedList<AppInfo> external_photo_apps;
[GtkChild]
- private unowned Gtk.FileChooserButton library_dir_button;
+ private unowned Gtk.Button library_dir_button;
[GtkChild]
private unowned Gtk.ComboBoxText dir_pattern_combo;
[GtkChild]
@@ -55,20 +55,20 @@ public class PreferencesDialog : Gtk.Dialog {
private unowned Gtk.Notebook preferences_notebook;
[GtkChild]
- private unowned Gtk.RadioButton transparent_checker_radio;
+ private unowned Gtk.ToggleButton transparent_checker_radio;
[GtkChild]
- private unowned Gtk.RadioButton transparent_solid_radio;
+ private unowned Gtk.ToggleButton transparent_solid_radio;
[GtkChild]
private unowned Gtk.ColorButton transparent_solid_color;
[GtkChild]
- private unowned Gtk.RadioButton transparent_none_radio;
+ private unowned Gtk.ToggleButton transparent_none_radio;
private PreferencesDialog() {
Object (use_header_bar: Resources.use_header_bar());
- set_parent_window(AppWindow.get_instance().get_parent_window());
+ //set_parent_window(AppWindow.get_instance().get_parent_window());
set_transient_for(AppWindow.get_instance());
- delete_event.connect(on_delete);
+ close_request.connect(on_delete);
response.connect(on_close);
transparent_checker_radio.toggled.connect(on_radio_changed);
@@ -126,7 +126,7 @@ public class PreferencesDialog : Gtk.Dialog {
lowercase.toggled.connect(on_lowercase_toggled);
- ((Gtk.Container) preferences_notebook.get_nth_page (2)).add (plugins_mediator);
+ //preferences_notebook.get_nth_page (2).set_child (plugins_mediator);
populate_preference_options();
@@ -226,11 +226,13 @@ public class PreferencesDialog : Gtk.Dialog {
((FileIcon) app_icon).get_file().get_path()), Resources.DEFAULT_ICON_SCALE,
Gdk.InterpType.BILINEAR, false));
} else if (app_icon is ThemedIcon) {
+ #if 0
Gdk.Pixbuf icon_pixbuf =
Gtk.IconTheme.get_default().load_icon(((ThemedIcon) app_icon).get_names()[0],
Resources.DEFAULT_ICON_SCALE, Gtk.IconLookupFlags.FORCE_SIZE);
combo_store.set_value(iter, 0, icon_pixbuf);
+ #endif
}
} catch (GLib.Error error) {
warning("Error loading icon pixbuf: " + error.message);
@@ -285,8 +287,8 @@ public class PreferencesDialog : Gtk.Dialog {
preferences_dialog = new PreferencesDialog();
preferences_dialog.populate_preference_options();
- preferences_dialog.show_all();
- preferences_dialog.library_dir_button.set_current_folder(AppDirs.get_import_dir().get_path());
+ preferences_dialog.show();
+ //TODO preferences_dialog.library_dir_button.set_current_folder(AppDirs.get_import_dir().get_path());
// Ticket #3001: Cause the dialog to become active if the user chooses 'Preferences'
// from the menus a second time.
@@ -316,7 +318,7 @@ public class PreferencesDialog : Gtk.Dialog {
return true;
commit_on_close();
- return hide_on_delete(); //prevent widgets from getting destroyed
+ return true; //hide_on_delete(); //prevent widgets from getting destroyed
}
private void on_close() {
@@ -409,9 +411,10 @@ public class PreferencesDialog : Gtk.Dialog {
}
private void on_current_folder_changed() {
- lib_dir = library_dir_button.get_filename();
+ //lib_dir = library_dir_button.get_filename();
}
+#if 0
public override bool map_event(Gdk.EventAny event) {
var result = base.map_event(event);
// Set the signal for the lib dir button after the dialog is displayed,
@@ -422,6 +425,7 @@ public class PreferencesDialog : Gtk.Dialog {
return result;
}
+ #endif
private void add_to_dir_formats(string name, string? pattern) {
PathFormat pf = new PathFormat(name, pattern);
diff --git a/src/dialogs/ProgressDialog.vala b/src/dialogs/ProgressDialog.vala
index 93687640..bbba266a 100644
--- a/src/dialogs/ProgressDialog.vala
+++ b/src/dialogs/ProgressDialog.vala
@@ -25,24 +25,23 @@ public class ProgressDialog : Gtk.Window {
if (owner != null)
set_transient_for(owner);
set_modal(true);
- set_type_hint(Gdk.WindowTypeHint.DIALOG);
progress_bar.set_size_request(300, -1);
progress_bar.set_show_text(true);
Gtk.Box vbox_bar = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- vbox_bar.pack_start(progress_bar, true, false, 0);
+ vbox_bar.prepend(progress_bar);
if (cancellable != null) {
cancel_button = new Gtk.Button.with_mnemonic(Resources.CANCEL_LABEL);
cancel_button.clicked.connect(on_cancel);
- delete_event.connect(on_window_closed);
+ close_request.connect(on_window_closed);
}
Gtk.Box hbox = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 8);
- hbox.pack_start(vbox_bar, true, false, 0);
+ hbox.prepend(vbox_bar);
if (cancel_button != null)
- hbox.pack_end(cancel_button, false, false, 0);
+ hbox.append(cancel_button);
Gtk.Label primary_text_label = new Gtk.Label("");
primary_text_label.set_markup("<span weight=\"bold\">%s</span>".printf(text));
@@ -50,8 +49,8 @@ public class ProgressDialog : Gtk.Window {
primary_text_label.yalign = 0.5f;
Gtk.Box vbox = new Gtk.Box(Gtk.Orientation.VERTICAL, 12);
- vbox.pack_start(primary_text_label, false, false, 0);
- vbox.pack_start(hbox, true, false, 0);
+ vbox.prepend(primary_text_label);
+ vbox.prepend(hbox);
vbox.halign = Gtk.Align.CENTER;
vbox.valign = Gtk.Align.CENTER;
vbox.hexpand = true;
@@ -61,7 +60,7 @@ public class ProgressDialog : Gtk.Window {
vbox.margin_top = 12;
vbox.margin_bottom = 12;
- add(vbox);
+ set_child(vbox);
time_started = now_ms();
}
@@ -70,8 +69,8 @@ public class ProgressDialog : Gtk.Window {
base.realize();
// if unable to cancel the progress bar, remove the close button
- if (cancellable == null)
- get_window().set_functions(Gdk.WMFunction.MOVE);
+ //if (cancellable == null)
+ //get_window().set_functions(Gdk.WMFunction.MOVE);
}
public void update_display_every(int update_every) {
@@ -109,7 +108,7 @@ public class ProgressDialog : Gtk.Window {
//UnityProgressBar: try to draw progress bar
uniprobar.set_visible(true);
#endif
- show_all();
+ show();
}
// This can be used as a ProgressMonitor delegate.
@@ -170,7 +169,7 @@ public class ProgressDialog : Gtk.Window {
//UnityProgressBar: try to draw progress bar
uniprobar.set_visible(true);
#endif
- show_all();
+ show();
spin_event_loop();
}
}
diff --git a/src/dialogs/SetBackground.vala b/src/dialogs/SetBackground.vala
index ec565022..161163a1 100644
--- a/src/dialogs/SetBackground.vala
+++ b/src/dialogs/SetBackground.vala
@@ -25,8 +25,8 @@ public class SetBackgroundPhotoDialog : Gtk.Dialog {
}
public bool execute(out bool desktop_background, out bool screensaver) {
- this.show_all();
- var result = this.run() == Gtk.ResponseType.OK;
+ this.show();
+ var result = false; //this.run() == Gtk.ResponseType.OK;
this.hide ();
desktop_background = desktop_background_checkbox.active;
diff --git a/src/dialogs/SetBackgroundSlideshow.vala b/src/dialogs/SetBackgroundSlideshow.vala
index 479b0c7a..aed74dbd 100644
--- a/src/dialogs/SetBackgroundSlideshow.vala
+++ b/src/dialogs/SetBackgroundSlideshow.vala
@@ -64,8 +64,8 @@ public class SetBackgroundSlideshowDialog : Gtk.Dialog {
}
public bool execute(out int delay_value, out bool desktop_background, out bool screensaver) {
- this.show_all();
- var result = this.run() == Gtk.ResponseType.OK;
+ this.show();
+ var result = false; //this.run() == Gtk.ResponseType.OK;
this.hide ();
delay_value = this.delay_value;
diff --git a/src/dialogs/TextEntry.vala b/src/dialogs/TextEntry.vala
index a2e4653a..1c0727ab 100644
--- a/src/dialogs/TextEntry.vala
+++ b/src/dialogs/TextEntry.vala
@@ -24,7 +24,7 @@ public class TextEntryDialog : Gtk.Dialog {
public void setup(OnModifyValidateType? modify_validate, string title, string label,
string? initial_text, Gee.Collection<string>? completion_list, string? completion_delimiter) {
set_title(title);
- set_parent_window(AppWindow.get_instance().get_parent_window());
+ //set_parent_window(AppWindow.get_instance().get_parent_window());
set_transient_for(AppWindow.get_instance());
on_modify_validate = modify_validate;
@@ -49,9 +49,9 @@ public class TextEntryDialog : Gtk.Dialog {
// validate entry to start with
set_response_sensitive(Gtk.ResponseType.OK, on_modify_validate(entry.get_text()));
- show_all();
+ show();
- if (run() == Gtk.ResponseType.OK)
+ if (0 == Gtk.ResponseType.OK)
text = entry.get_text();
entry.changed.disconnect(on_entry_changed);
diff --git a/src/dialogs/WelcomeDialog.vala b/src/dialogs/WelcomeDialog.vala
index 7fa0b7cd..5cd597fa 100644
--- a/src/dialogs/WelcomeDialog.vala
+++ b/src/dialogs/WelcomeDialog.vala
@@ -21,20 +21,19 @@ public class WelcomeDialog : Gtk.Dialog {
Gtk.Box import_content;
Gtk.Box import_action_checkbox_packer;
Gtk.Box external_import_action_checkbox_packer;
- Spit.DataImports.WelcomeImportMetaHost import_meta_host;
+ //Spit.DataImports.WelcomeImportMetaHost import_meta_host;
bool import_content_already_installed = false;
bool ok_clicked = false;
public WelcomeDialog(Gtk.Window owner) {
Object(use_header_bar : Resources.use_header_bar());
- import_meta_host = new Spit.DataImports.WelcomeImportMetaHost(this);
+ //import_meta_host = new Spit.DataImports.WelcomeImportMetaHost(this);
bool show_system_pictures_import = is_system_pictures_import_possible();
Gtk.Widget ok_button = add_button(Resources.OK_LABEL, Gtk.ResponseType.CLOSE);
set_default_response(Gtk.ResponseType.CLOSE);
set_title(_("Welcome!"));
set_resizable(false);
- set_type_hint(Gdk.WindowTypeHint.DIALOG);
set_transient_for(owner);
Gtk.Label primary_text = new Gtk.Label("");
@@ -47,15 +46,15 @@ public class WelcomeDialog : Gtk.Dialog {
_("To get started, import photos in any of these ways:")));
secondary_text.xalign = 0.0f;
secondary_text.yalign = 0.5f;
- var image = new Gtk.Image.from_icon_name ("shotwell", Gtk.IconSize.DIALOG);
+ var image = new Gtk.Image.from_icon_name ("shotwell");
Gtk.Box header_text = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- header_text.pack_start(primary_text, false, false, 5);
- header_text.pack_start(secondary_text, false, false, 0);
+ header_text.append(primary_text);
+ header_text.append(secondary_text);
Gtk.Box header_content = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 12);
- header_content.pack_start(image, false, false, 0);
- header_content.pack_start(header_text, false, false, 0);
+ header_content.append(image);
+ header_content.append(header_text);
Gtk.Label instructions = new Gtk.Label("");
string indent_prefix = " "; // we can't tell what the indent prefix is going to be so assume we
need one
@@ -71,13 +70,13 @@ public class WelcomeDialog : Gtk.Dialog {
import_action_checkbox_packer = new Gtk.Box(Gtk.Orientation.VERTICAL, 2);
external_import_action_checkbox_packer = new Gtk.Box(Gtk.Orientation.VERTICAL, 2);
- import_action_checkbox_packer.add(external_import_action_checkbox_packer);
+ import_action_checkbox_packer.append(external_import_action_checkbox_packer);
if (show_system_pictures_import) {
system_pictures_import_check = new Gtk.CheckButton.with_mnemonic(
_("_Import photos from your %s folder").printf(
get_display_pathname(AppDirs.get_import_dir())));
- import_action_checkbox_packer.add(system_pictures_import_check);
+ import_action_checkbox_packer.append(system_pictures_import_check);
system_pictures_import_check.set_active(true);
}
@@ -88,14 +87,14 @@ public class WelcomeDialog : Gtk.Dialog {
instruction_header.set_margin_top(20);
Gtk.Box content = new Gtk.Box(Gtk.Orientation.VERTICAL, 16);
- content.pack_start(header_content, true, true, 0);
+ content.append(header_content);
import_content = new Gtk.Box(Gtk.Orientation.VERTICAL, 2);
- content.add(import_content);
- content.pack_start(instructions, false, false, 0);
+ content.append(import_content);
+ content.append(instructions);
hide_button = new Gtk.CheckButton.with_mnemonic(_("_Don’t show this message again"));
hide_button.set_active(true);
- content.pack_start(hide_button, false, false, 6);
+ content.append(hide_button);
content.halign = Gtk.Align.FILL;
content.valign = Gtk.Align.FILL;
content.hexpand = false;
@@ -105,13 +104,13 @@ public class WelcomeDialog : Gtk.Dialog {
content.margin_start = 12;
content.margin_end = 12;
- ((Gtk.Box) get_content_area()).pack_start(content, false, false, 0);
+ ((Gtk.Box) get_content_area()).append(content);
ok_button.grab_focus();
install_import_content();
- import_meta_host.start();
+ //TODO import_meta_host.start();
}
private void install_import_content() {
@@ -120,8 +119,8 @@ public class WelcomeDialog : Gtk.Dialog {
(import_content_already_installed == false)
) {
secondary_text.set_markup("");
- import_content.add(import_action_checkbox_packer);
- import_content.add(instruction_header);
+ import_content.append(import_action_checkbox_packer);
+ import_content.append(instruction_header);
import_content_already_installed = true;
}
}
@@ -133,7 +132,7 @@ public class WelcomeDialog : Gtk.Dialog {
_("Import photos from your %s library").printf(entry.get_service_name()));
external_import_checks += entry_check;
entry_check.set_active(true);
- external_import_action_checkbox_packer.add(entry_check);
+ external_import_action_checkbox_packer.append(entry_check);
install_import_content();
}
@@ -147,20 +146,19 @@ public class WelcomeDialog : Gtk.Dialog {
ok_clicked = true;
}
hide();
- Gtk.main_quit();
+ // TODO Gtk.main_quit();
}
public bool execute(out WelcomeServiceEntry[] selected_import_entries, out bool
do_system_pictures_import) {
// it's unsafe to call run() here - it interferes with displaying
// images from a camera - so we process the dialog ourselves.
response.connect(on_dismiss);
- show_all();
show();
// this will block the thread we're in until a matching call
// to main_quit() is encountered; this happens when either the window
// is closed or OK is clicked.
- Gtk.main();
+ // TODO Gtk.main();
// at this point, the inner main loop will have been exited.
// we've got the response, so we don't need this signal anymore.
diff --git a/src/direct/DirectPhotoPage.vala b/src/direct/DirectPhotoPage.vala
index cc7186c4..09f2ab64 100644
--- a/src/direct/DirectPhotoPage.vala
+++ b/src/direct/DirectPhotoPage.vala
@@ -50,11 +50,11 @@ public class DirectPhotoPage : EditingHostPage {
{ "RotateCounterclockwise", on_rotate_counterclockwise },
{ "FlipHorizontally", on_flip_horizontally },
{ "FlipVertically", on_flip_vertically },
- { "Enhance", on_enhance },
- { "Crop", toggle_crop },
- { "Straighten", toggle_straighten },
- { "RedEye", toggle_redeye },
- { "Adjust", toggle_adjust },
+ //{ "Enhance", on_enhance },
+ //{ "Crop", toggle_crop },
+ //{ "Straighten", toggle_straighten },
+ //{ "RedEye", toggle_redeye },
+ //{ "Adjust", toggle_adjust },
{ "Revert", on_revert },
{ "AdjustDateTime", on_adjust_date_time },
{ "SetBackground", on_set_background },
@@ -145,6 +145,7 @@ public class DirectPhotoPage : EditingHostPage {
return get_photo().get_file();
}
+#if 0
protected override bool on_context_buttonpress(Gdk.EventButton event) {
popup_context_menu(get_context_menu(), event);
@@ -163,6 +164,7 @@ public class DirectPhotoPage : EditingHostPage {
return this.context_menu;
}
+ #endif
private void update_zoom_menu_item_sensitivity() {
set_action_sensitive("IncreaseSize", !get_zoom_state().is_max() && !get_photo_missing());
@@ -212,6 +214,7 @@ public class DirectPhotoPage : EditingHostPage {
get_command_manager().reset();
}
+ #if 0
protected override bool on_double_click(Gdk.EventButton event) {
FullscreenWindow? fs = get_container() as FullscreenWindow;
if (fs != null) {
@@ -229,6 +232,7 @@ public class DirectPhotoPage : EditingHostPage {
return base.on_double_click(event);
}
+ #endif
protected override void update_ui(bool missing) {
bool sensitivity = !missing;
@@ -272,7 +276,7 @@ public class DirectPhotoPage : EditingHostPage {
bool revert_possible = has_photo() ? get_photo().has_transformations()
&& !get_photo_missing() : false;
bool rotate_possible = has_photo() ? is_rotate_available(get_photo()) : false;
- bool enhance_possible = has_photo() ? is_enhance_available(get_photo()) : false;
+ bool enhance_possible = false; //has_photo() ? is_enhance_available(get_photo()) : false;
set_action_sensitive("PrevPhoto", multiple);
set_action_sensitive("NextPhoto", multiple);
@@ -286,9 +290,9 @@ public class DirectPhotoPage : EditingHostPage {
set_action_sensitive("SetBackground", has_photo());
if (has_photo()) {
- set_action_sensitive("Crop", EditingTools.CropTool.is_available(get_photo(),
Scaling.for_original()));
- set_action_sensitive("RedEye", EditingTools.RedeyeTool.is_available(get_photo(),
- Scaling.for_original()));
+ //set_action_sensitive("Crop", EditingTools.CropTool.is_available(get_photo(),
Scaling.for_original()));
+ //set_action_sensitive("RedEye", EditingTools.RedeyeTool.is_available(get_photo(),
+ // Scaling.for_original()));
}
// can't write to raws, and trapping the output JPEG here is tricky,
@@ -412,22 +416,23 @@ public class DirectPhotoPage : EditingHostPage {
AppWindow.get_instance(), Gtk.FileChooserAction.SAVE, Resources.OK_LABEL,
Resources.CANCEL_LABEL);
save_as_dialog.set_select_multiple(false);
save_as_dialog.set_current_name(filename);
- save_as_dialog.set_current_folder(current_save_dir.get_path());
+ try {
+ save_as_dialog.set_current_folder(current_save_dir);
+ } catch (Error error) {
+ }
save_as_dialog.add_filter(output_format_filter);
- save_as_dialog.set_do_overwrite_confirmation(true);
- save_as_dialog.set_local_only(false);
- int response = save_as_dialog.run();
+ int response = 0; //save_as_dialog.run();
if (response == Gtk.ResponseType.ACCEPT) {
// flag to prevent asking user about losing changes to the old file (since they'll be
// loaded right into the new one)
drop_if_dirty = true;
- save(File.new_for_uri(save_as_dialog.get_uri()), scale, constraint, export_params.quality,
+ save(save_as_dialog.get_file(), scale, constraint, export_params.quality,
effective_export_format, export_params.mode == ExportFormatMode.UNMODIFIED,
export_params.export_metadata);
drop_if_dirty = false;
- current_save_dir = File.new_for_path(save_as_dialog.get_current_folder());
+ current_save_dir = save_as_dialog.get_current_folder();
}
save_as_dialog.destroy();
@@ -438,6 +443,7 @@ public class DirectPhotoPage : EditingHostPage {
DesktopIntegration.send_to((Gee.Collection<Photo>) get_view().get_selected_sources());
}
+ #if 0
protected override bool on_app_key_pressed(Gdk.EventKey event) {
bool handled = true;
@@ -457,6 +463,7 @@ public class DirectPhotoPage : EditingHostPage {
return handled ? true : base.on_app_key_pressed(event);
}
+ #endif
private void on_print() {
if (get_view().get_selected_count() > 0) {
diff --git a/src/direct/DirectWindow.vala b/src/direct/DirectWindow.vala
index 9eec5b1e..95d93cd8 100644
--- a/src/direct/DirectWindow.vala
+++ b/src/direct/DirectWindow.vala
@@ -8,7 +8,7 @@ public class DirectWindow : AppWindow {
private DirectPhotoPage direct_photo_page;
public DirectWindow(File file) {
- base();
+ base();
direct_photo_page = new DirectPhotoPage(file);
direct_photo_page.get_view().items_altered.connect(on_photo_changed);
@@ -23,12 +23,12 @@ public class DirectWindow : AppWindow {
// simple layout: menu on top, photo in center, toolbar along bottom (mimicking the
// PhotoPage in the library, but without the sidebar)
Gtk.Box layout = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- layout.pack_start(direct_photo_page, true, true, 0);
- layout.pack_end(direct_photo_page.get_toolbar(), false, false, 0);
+ layout.prepend(direct_photo_page);
+ layout.append(direct_photo_page.get_toolbar());
Application.set_menubar (direct_photo_page.get_menubar ());
- add(layout);
+ set_child(layout);
}
public static DirectWindow get_app() {
@@ -74,13 +74,14 @@ public class DirectWindow : AppWindow {
base.on_quit();
}
- public override bool delete_event(Gdk.EventAny event) {
+ public override bool close_request() {
if (!get_direct_page().check_quit())
return true;
-
- return (base.delete_event != null) ? base.delete_event(event) : false;
+
+ return false;
}
+#if 0
public override bool key_press_event(Gdk.EventKey event) {
// check for an escape
if (Gdk.keyval_name(event.keyval) == "Escape") {
@@ -92,5 +93,6 @@ public class DirectWindow : AppWindow {
// ...then let the base class take over
return (base.key_press_event != null) ? base.key_press_event(event) : false;
}
+ #endif
}
diff --git a/src/events/EventPage.vala b/src/events/EventPage.vala
index 1375c39f..12b21295 100644
--- a/src/events/EventPage.vala
+++ b/src/events/EventPage.vala
@@ -22,6 +22,7 @@ public class EventPage : CollectionPage {
return page_event;
}
+ #if 0
protected override bool on_app_key_pressed(Gdk.EventKey event) {
// If and only if one image is selected, propagate F2 to the rest of
// the window, otherwise, consume it here - if we don't do this, it'll
@@ -35,6 +36,7 @@ public class EventPage : CollectionPage {
return base.on_app_key_pressed(event);
}
+ #endif
~EventPage() {
Event.global.items_altered.disconnect(on_events_altered);
diff --git a/src/events/Events.vala b/src/events/Events.vala
index 1cc3fd20..9333b214 100644
--- a/src/events/Events.vala
+++ b/src/events/Events.vala
@@ -7,11 +7,11 @@
namespace Events {
public void init() throws Error {
- Events.Branch.init();
+ //Events.Branch.init();
}
public void terminate() {
- Events.Branch.terminate();
+ //Events.Branch.terminate();
}
}
diff --git a/src/events/EventsDirectoryPage.vala b/src/events/EventsDirectoryPage.vala
index 7ead1a05..977b13aa 100644
--- a/src/events/EventsDirectoryPage.vala
+++ b/src/events/EventsDirectoryPage.vala
@@ -59,16 +59,14 @@ public abstract class EventsDirectoryPage : CheckerboardPage {
this.view_manager = view_manager;
// set up page's toolbar (used by AppWindow for layout and FullscreenWindow as a popup)
- Gtk.Toolbar toolbar = get_toolbar();
+ var toolbar = get_toolbar();
// merge tool
- Gtk.ToolButton merge_button = new Gtk.ToolButton (null, Resources.MERGE_LABEL);
+ Gtk.Button merge_button = new Gtk.Button.from_icon_name ("events-merge-symbolic");
merge_button.set_action_name("win.Merge");
- merge_button.is_important = true;
merge_button.set_tooltip_text (Resources.MERGE_TOOLTIP);
- merge_button.set_icon_name ("events-merge-symbolic");
- toolbar.insert(merge_button, -1);
+ toolbar.append(merge_button);
}
~EventsDirectoryPage() {
diff --git a/src/library/FlaggedSidebarEntry.vala b/src/library/FlaggedSidebarEntry.vala
index 11b4f3e7..7554a101 100644
--- a/src/library/FlaggedSidebarEntry.vala
+++ b/src/library/FlaggedSidebarEntry.vala
@@ -35,9 +35,12 @@ public class Library.FlaggedSidebarEntry : Library.HideablePageEntry, Sidebar.In
return true;
}
+
+#if 0
public bool internal_drop_received_arbitrary(Gtk.SelectionData data) {
return false;
}
+#endif
private void on_flagged_contents_altered() {
visible = (get_total_flagged() != 0);
diff --git a/src/library/ImportQueuePage.vala b/src/library/ImportQueuePage.vala
index 1a14472a..a86591dd 100644
--- a/src/library/ImportQueuePage.vala
+++ b/src/library/ImportQueuePage.vala
@@ -25,28 +25,18 @@ public class ImportQueuePage : SinglePhotoPage {
base (NAME, false);
// Set up toolbar
- Gtk.Toolbar toolbar = get_toolbar();
+ var toolbar = get_toolbar();
// Stop button
- Gtk.ToolButton stop_button = new Gtk.ToolButton(null, null);
- stop_button.set_icon_name("process-stop-symbolic");
+ var stop_button = new Gtk.Button.from_icon_name ("process-stop-symbolic");
stop_button.set_action_name ("win.Stop");
- toolbar.insert(stop_button, -1);
+ toolbar.append(stop_button);
- // separator to force progress bar to right side of toolbar
- Gtk.SeparatorToolItem separator = new Gtk.SeparatorToolItem();
- separator.set_draw(false);
-
- toolbar.insert(separator, -1);
-
// Progress bar
- Gtk.ToolItem progress_item = new Gtk.ToolItem();
- progress_item.set_expand(true);
- progress_item.add(progress_bar);
progress_bar.set_show_text(true);
- toolbar.insert(progress_item, -1);
+ toolbar.append(progress_bar);
#if UNITY_SUPPORT
//UnityProgressBar: try to draw progress bar
uniprobar.set_visible(true);
diff --git a/src/library/Library.vala b/src/library/Library.vala
index 48eb721a..7c1b1680 100644
--- a/src/library/Library.vala
+++ b/src/library/Library.vala
@@ -7,12 +7,12 @@
namespace Library {
public void init() throws Error {
- Library.TrashSidebarEntry.init();
+ //Library.TrashSidebarEntry.init();
Photo.develop_raw_photos_to_files = true;
}
public void terminate() {
- Library.TrashSidebarEntry.terminate();
+ //Library.TrashSidebarEntry.terminate();
}
}
diff --git a/src/library/LibraryWindow.vala b/src/library/LibraryWindow.vala
index 4eac314f..d9a9d624 100644
--- a/src/library/LibraryWindow.vala
+++ b/src/library/LibraryWindow.vala
@@ -55,11 +55,13 @@ public class LibraryWindow : AppWindow {
public const string TAG_PATH_MIME_TYPE = "shotwell/tag-path";
public const string MEDIA_LIST_MIME_TYPE = "shotwell/media-id-atom";
+ #if 0
public const Gtk.TargetEntry[] DND_TARGET_ENTRIES = {
{ "text/uri-list", Gtk.TargetFlags.OTHER_APP, TargetType.URI_LIST },
{ MEDIA_LIST_MIME_TYPE, Gtk.TargetFlags.SAME_APP, TargetType.MEDIA_LIST },
{ TAG_PATH_MIME_TYPE, Gtk.TargetFlags.SAME_WIDGET, TargetType.TAG_PATH }
};
+ #endif
// In fullscreen mode, want to use LibraryPhotoPage, but fullscreen has different requirements,
// esp. regarding when the widget is realized and when it should first try and throw them image
@@ -103,20 +105,20 @@ public class LibraryWindow : AppWindow {
private bool notify_library_is_home_dir = true;
// Sidebar tree and roots (ordered by SidebarRootPosition)
+#if DOES_NOT_WORK_WITH_GTK4
private Sidebar.Tree sidebar_tree;
private Library.Branch library_branch = new Library.Branch();
private Tags.Branch tags_branch = new Tags.Branch();
private Folders.Branch folders_branch = new Folders.Branch();
-#if ENABLE_FACES
private Faces.Branch faces_branch = new Faces.Branch();
-#endif
private Events.Branch events_branch = new Events.Branch();
private Camera.Branch camera_branch = new Camera.Branch();
private Searches.Branch saved_search_branch = new Searches.Branch();
private ImportRoll.Branch import_roll_branch = new ImportRoll.Branch();
- private bool page_switching_enabled = true;
private Gee.HashMap<Page, Sidebar.Entry> page_map = new Gee.HashMap<Page, Sidebar.Entry>();
+#endif
+ private bool page_switching_enabled = true;
private LibraryPhotoPage photo_page = null;
@@ -150,6 +152,7 @@ public class LibraryWindow : AppWindow {
base();
// prep sidebar and add roots
+ #if 0
sidebar_tree = new Sidebar.Tree(DND_TARGET_ENTRIES, Gdk.DragAction.ASK,
external_drop_handler);
@@ -169,6 +172,7 @@ public class LibraryWindow : AppWindow {
sidebar_tree.graft(camera_branch, SidebarRootPosition.CAMERAS);
sidebar_tree.graft(saved_search_branch, SidebarRootPosition.SAVED_SEARCH);
sidebar_tree.graft(import_roll_branch, SidebarRootPosition.IMPORT_ROLL);
+ #endif
properties_scheduler = new OneShotScheduler("LibraryWindow properties",
on_update_properties_now);
@@ -178,7 +182,7 @@ public class LibraryWindow : AppWindow {
// create the main layout & start at the Library page
basic_properties = new BasicProperties();
- create_layout(library_branch.photos_entry.get_page());
+ //create_layout(library_branch.photos_entry.get_page());
// settings that should persist between sessions
load_configuration();
@@ -188,6 +192,7 @@ public class LibraryWindow : AppWindow {
media_sources.items_altered.connect(on_media_altered);
}
+ #if DOES_NOT_WORK_WITH_GTK4
// set up main window as a drag-and-drop destination (rather than each page; assume
// a drag and drop is for general library import, which means it goes to library_page)
Gtk.TargetEntry[] main_window_dnd_targets = {
@@ -198,6 +203,7 @@ public class LibraryWindow : AppWindow {
};
Gtk.drag_dest_set(this, Gtk.DestDefaults.ALL, main_window_dnd_targets,
Gdk.DragAction.COPY | Gdk.DragAction.LINK | Gdk.DragAction.ASK);
+ #endif
MetadataWriter.get_instance().progress.connect(on_metadata_writer_progress);
@@ -217,10 +223,10 @@ public class LibraryWindow : AppWindow {
}
~LibraryWindow() {
- sidebar_tree.page_created.disconnect(on_page_created);
- sidebar_tree.destroying_page.disconnect(on_destroying_page);
- sidebar_tree.entry_selected.disconnect(on_sidebar_entry_selected);
- sidebar_tree.selected_entry_removed.disconnect(on_sidebar_selected_entry_removed);
+ //sidebar_tree.page_created.disconnect(on_page_created);
+ //sidebar_tree.destroying_page.disconnect(on_destroying_page);
+ //sidebar_tree.entry_selected.disconnect(on_sidebar_entry_selected);
+ //sidebar_tree.selected_entry_removed.disconnect(on_sidebar_selected_entry_removed);
unsubscribe_from_basic_information(get_current_page());
@@ -333,8 +339,8 @@ public class LibraryWindow : AppWindow {
}
// show_all() may make visible certain items we wish to keep programmatically hidden
- public override void show_all() {
- base.show_all();
+ public override void show() {
+ base.show();
var basic_properties_action = get_current_page ().get_common_action
("CommonDisplayBasicProperties");
@@ -375,36 +381,44 @@ public class LibraryWindow : AppWindow {
}
public void rename_tag_in_sidebar(Tag tag) {
+ #if 0
Tags.SidebarEntry? entry = tags_branch.get_entry_for_tag(tag);
if (entry != null)
sidebar_tree.rename_entry_in_place(entry);
else
debug("No tag entry found for rename");
+ #endif
}
public void rename_event_in_sidebar(Event event) {
+ #if 0
Events.EventEntry? entry = events_branch.get_entry_for_event(event);
if (entry != null)
sidebar_tree.rename_entry_in_place(entry);
else
debug("No event entry found for rename");
+ #endif
}
public void rename_search_in_sidebar(SavedSearch search) {
+ #if 0
Searches.SidebarEntry? entry = saved_search_branch.get_entry_for_saved_search(search);
if (entry != null)
sidebar_tree.rename_entry_in_place(entry);
else
debug("No search entry found for rename");
+ #endif
}
#if ENABLE_FACES
public void rename_face_in_sidebar(Face face) {
+ #if 0
Faces.SidebarEntry? entry = faces_branch.get_entry_for_face(face);
if (entry != null)
sidebar_tree.rename_entry_in_place(entry);
else
assert_not_reached();
+ #endif
}
#endif
@@ -457,6 +471,7 @@ public class LibraryWindow : AppWindow {
if (event == null)
return false;
+#if 0
Events.EventEntry? entry = events_branch.get_entry_for_event(event);
if (entry == null)
return false;
@@ -468,8 +483,9 @@ public class LibraryWindow : AppWindow {
start = photo;
view_collection = null;
+ #endif
- return true;
+ return false;
}
if (page is LibraryPhotoPage) {
@@ -511,38 +527,42 @@ public class LibraryWindow : AppWindow {
private void on_file_import() {
var import_dialog = new Gtk.FileChooserNative(_("Import From Folder"), null,
Gtk.FileChooserAction.SELECT_FOLDER, Resources.OK_LABEL, Resources.CANCEL_LABEL);
- import_dialog.set_local_only(false);
import_dialog.set_select_multiple(true);
- import_dialog.set_current_folder(import_dir);
+ try {
+ import_dialog.set_current_folder(File.new_for_commandline_arg(import_dir));
+ } catch (Error err) { }
var recursive = new Gtk.CheckButton.with_label(_("Recurse Into Subfolders"));
recursive.active = import_recursive;
- import_dialog.set_extra_widget(recursive);
+ //import_dialog.set_extra_widget(recursive);
- int response = import_dialog.run();
+ int response = 0; //import_dialog.run();
if (response == Gtk.ResponseType.ACCEPT) {
import_dialog.hide();
// force file linking if directory is inside current library directory
Gtk.ResponseType copy_files_response =
- AppDirs.is_in_import_dir(File.new_for_uri(import_dialog.get_uri()))
+ AppDirs.is_in_import_dir(import_dialog.get_file())
? Gtk.ResponseType.REJECT : copy_files_dialog();
if (copy_files_response != Gtk.ResponseType.CANCEL) {
+ // TODO
+ #if 0
dispatch_import_jobs(import_dialog.get_uris(), "folders",
copy_files_response == Gtk.ResponseType.ACCEPT, recursive.active);
+ #endif
}
}
- import_dir = import_dialog.get_current_folder();
+ import_dir = import_dialog.get_current_folder().get_path();
import_recursive = recursive.active;
import_dialog.destroy();
}
private void on_external_library_import() {
- Gtk.Dialog import_dialog = DataImportsUI.DataImportsDialog.get_or_create_instance();
+ //Gtk.Dialog import_dialog = DataImportsUI.DataImportsDialog.get_or_create_instance();
- import_dialog.run();
+ //import_dialog.run();
}
protected override void update_common_action_availability(Page? old_page, Page? new_page) {
@@ -665,7 +685,7 @@ public class LibraryWindow : AppWindow {
basic_properties.update_properties(get_current_page());
bottom_frame.show();
} else {
- if (sidebar_paned.get_child2() != null) {
+ if (sidebar_paned.get_end_child() != null) {
bottom_frame.hide();
}
}
@@ -752,7 +772,7 @@ public class LibraryWindow : AppWindow {
}
public void enqueue_batch_import(BatchImport batch_import, bool allow_user_cancel) {
- library_branch.import_queue_entry.enqueue_and_schedule(batch_import, allow_user_cancel);
+ //library_branch.import_queue_entry.enqueue_and_schedule(batch_import, allow_user_cancel);
}
private void import_reporter(ImportManifest manifest) {
@@ -793,6 +813,7 @@ public class LibraryWindow : AppWindow {
}
}
+ #if 0
private Gdk.DragAction get_drag_action() {
Gdk.ModifierType mask;
@@ -839,7 +860,10 @@ public class LibraryWindow : AppWindow {
return true;
}
+ #endif
+
+ #if 0
public override void drag_data_received(Gdk.DragContext context, int x, int y,
Gtk.SelectionData selection_data, uint info, uint time) {
if (selection_data.get_data().length < 0)
@@ -894,27 +918,28 @@ public class LibraryWindow : AppWindow {
Gtk.drag_finish(context, true, false, time);
}
+ #endif
public void switch_to_library_page() {
- switch_to_page(library_branch.photos_entry.get_page());
+ //switch_to_page(library_branch.photos_entry.get_page());
}
public void switch_to_event(Event event) {
- Events.EventEntry? entry = events_branch.get_entry_for_event(event);
- if (entry != null)
- switch_to_page(entry.get_page());
+ //Events.EventEntry? entry = events_branch.get_entry_for_event(event);
+ //if (entry != null)
+ // switch_to_page(entry.get_page());
}
public void switch_to_tag(Tag tag) {
- Tags.SidebarEntry? entry = tags_branch.get_entry_for_tag(tag);
- if (entry != null)
- switch_to_page(entry.get_page());
+ //Tags.SidebarEntry? entry = tags_branch.get_entry_for_tag(tag);
+ //if (entry != null)
+ //switch_to_page(entry.get_page());
}
public void switch_to_saved_search(SavedSearch search) {
- Searches.SidebarEntry? entry = saved_search_branch.get_entry_for_saved_search(search);
- if (entry != null)
- switch_to_page(entry.get_page());
+ //Searches.SidebarEntry? entry = saved_search_branch.get_entry_for_saved_search(search);
+ //if (entry != null)
+ // switch_to_page(entry.get_page());
}
public void switch_to_photo_page(CollectionPage controller, Photo current) {
@@ -933,10 +958,11 @@ public class LibraryWindow : AppWindow {
}
public void switch_to_import_queue_page() {
- switch_to_page(library_branch.import_queue_entry.get_page());
+ //switch_to_page(library_branch.import_queue_entry.get_page());
}
private void on_camera_added(DiscoveredCamera camera) {
+ #if 0
Camera.SidebarEntry? entry = camera_branch.get_entry_for_camera(camera);
if (entry == null)
return;
@@ -955,23 +981,24 @@ public class LibraryWindow : AppWindow {
} else {
switch_to_page(page);
}
+ #endif
}
// This should only be called by LibraryWindow and PageStub.
public void add_to_stack(Page page) {
// need to show all before handing over to stack
- page.show_all();
+ page.show();
- stack.add(page);
+ stack.add_child(page);
// need to show_all() after pages are added and removed
- stack.show_all();
+ stack.show();
}
private void remove_from_stack(Page page) {
stack.remove(page);
// need to show_all() after pages are added and removed
- stack.show_all();
+ stack.show();
}
// check for settings that should persist between instances
@@ -1039,12 +1066,11 @@ public class LibraryWindow : AppWindow {
private void create_layout(Page start_page) {
// put the sidebar in a scrolling window
- Gtk.ScrolledWindow scrolled_sidebar = new Gtk.ScrolledWindow(null, null);
+ Gtk.ScrolledWindow scrolled_sidebar = new Gtk.ScrolledWindow();
scrolled_sidebar.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
- scrolled_sidebar.add(sidebar_tree);
+ //scrolled_sidebar.set_child(sidebar_tree);
- background_progress_frame.set_border_width(2);
- background_progress_frame.add(background_progress_bar);
+ background_progress_frame.set_child(background_progress_bar);
background_progress_frame.set_transition_type(Gtk.RevealerTransitionType.SLIDE_UP);
background_progress_frame.halign = Gtk.Align.FILL;
background_progress_frame.valign = Gtk.Align.END;
@@ -1062,36 +1088,36 @@ public class LibraryWindow : AppWindow {
basic_properties.margin_start = 6;
basic_properties.margin_end = 6;
- bottom_frame.add(basic_properties);
+ bottom_frame.set_child(basic_properties);
bottom_frame.get_style_context().remove_class("frame");
// "attach" the progress bar to the sidebar tree, so the movable ridge is to resize the
// top two and the basic information pane
- top_section.pack_start(scrolled_sidebar, true, true, 0);
- top_section.pack_end(background_progress_frame, false, false, 0);
+ top_section.prepend(scrolled_sidebar);
+ top_section.append(background_progress_frame);
- sidebar_paned.pack1(top_section, true, false);
- sidebar_paned.pack2(bottom_frame, false, false);
+ sidebar_paned.set_start_child(top_section);
+ sidebar_paned.set_end_child(bottom_frame);
sidebar_paned.set_position(1000);
right_vbox = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- right_vbox.pack_start(search_toolbar, false, false, 0);
+ right_vbox.append(search_toolbar);
var stack_box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 0);
- stack_box.pack_start(stack, true, true, 0);
- right_vbox.pack_start(stack_box, true, true, 0);
- right_vbox.add (toolbar_revealer);
+ stack_box.append(stack);
+ right_vbox.append(stack_box);
+ right_vbox.append(toolbar_revealer);
client_paned = new Gtk.Paned(Gtk.Orientation.HORIZONTAL);
- client_paned.pack1(sidebar_paned, false, false);
- sidebar_tree.set_size_request(SIDEBAR_MIN_WIDTH, -1);
- client_paned.pack2(right_vbox, true, false);
+ client_paned.set_start_child(sidebar_paned);
+ //sidebar_tree.set_size_request(SIDEBAR_MIN_WIDTH, -1);
+ client_paned.set_end_child(right_vbox);
client_paned.set_position(Config.Facade.get_instance().get_sidebar_position());
// TODO: Calc according to layout's size, to give sidebar a maximum width
stack.set_size_request(PAGE_MIN_WIDTH, -1);
- var scrolled = new Gtk.ScrolledWindow(null, null);
+ var scrolled = new Gtk.ScrolledWindow();
scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
- scrolled.add(extended_properties);
- extended_properties_revealer.add(scrolled);
+ scrolled.set_child(extended_properties);
+ extended_properties_revealer.set_child(scrolled);
extended_properties_revealer.set_transition_type(Gtk.RevealerTransitionType.SLIDE_LEFT);
extended_properties_revealer.halign = Gtk.Align.END;
extended_properties_revealer.valign = Gtk.Align.FILL;
@@ -1103,7 +1129,7 @@ public class LibraryWindow : AppWindow {
extended_properties.set_margin_end (9);
scrolled.set_size_request(EXTENDED_INFO_MIN_WIDTH, -1);
- stack_box.pack_end(extended_properties_revealer, false, false, 0);
+ stack_box.append(extended_properties_revealer);
extended_properties_revealer.halign = Gtk.Align.END;
extended_properties_revealer.hexpand = false;
if (Config.Facade.get_instance().get_display_extended_properties()) {
@@ -1112,9 +1138,9 @@ public class LibraryWindow : AppWindow {
extended_properties_revealer.set_reveal_child(false);
}
- layout.pack_end(client_paned, true, true, 0);
+ layout.append(client_paned);
- add(layout);
+ set_child(layout);
switch_to_page(start_page);
start_page.grab_focus();
@@ -1141,16 +1167,18 @@ public class LibraryWindow : AppWindow {
set_show_menubar (false);
Application.set_menubar (null);
- Gtk.Toolbar toolbar = current_page.get_toolbar();
+ var toolbar = current_page.get_toolbar();
if (toolbar != null)
- toolbar_revealer.remove(toolbar);
+ toolbar_revealer.set_child(null);
current_page.switching_from();
// see note below about why the sidebar is uneditable while the LibraryPhotoPage is
// visible
+ #if 0
if (current_page is LibraryPhotoPage)
sidebar_tree.enable_editing();
+ #endif
// old page unsubscribes to these signals (new page subscribes below)
unsubscribe_from_basic_information(current_page);
@@ -1166,13 +1194,16 @@ public class LibraryWindow : AppWindow {
// renaming in the sidebar because a single click while in the LibraryPhotoPage indicates
// the user wants to return to the controlling page ... that is, in this special case, the
// sidebar cursor is set not to the 'current' page, but the page the user came from
+ #if 0
if (page is LibraryPhotoPage)
sidebar_tree.disable_editing();
+ #endif
// Update search filter to new page.
toggle_search_bar(should_show_search_bar(), page as CheckerboardPage);
// Not all pages have sidebar entries
+ #if 0
Sidebar.Entry? entry = page_map.get(page);
if (entry != null) {
// if the corresponding sidebar entry is an expandable entry and wants to be
@@ -1183,13 +1214,14 @@ public class LibraryWindow : AppWindow {
sidebar_tree.place_cursor(entry, true);
}
+ #endif
on_update_properties();
if (page is CheckerboardPage)
init_view_filter((CheckerboardPage)page);
- page.show_all();
+ page.show();
// subscribe to these signals for each event page so basic properties display will update
subscribe_for_basic_information(get_current_page());
@@ -1202,10 +1234,10 @@ public class LibraryWindow : AppWindow {
get_settings().gtk_shell_shows_menubar = !old;
get_settings().gtk_shell_shows_menubar = old;
- Gtk.Toolbar toolbar = page.get_toolbar();
+ var toolbar = page.get_toolbar();
if (toolbar != null) {
- toolbar_revealer.add(toolbar);
- toolbar.show_all();
+ toolbar_revealer.set_child(toolbar);
+ toolbar.show();
toolbar_revealer.set_reveal_child (this.is_toolbar_visible ());
}
@@ -1234,6 +1266,7 @@ public class LibraryWindow : AppWindow {
}
}
+ #if 0
private void on_page_created(Sidebar.PageRepresentative entry, Page page) {
assert(!page_map.has_key(page));
page_map.set(page, entry);
@@ -1288,6 +1321,7 @@ public class LibraryWindow : AppWindow {
// basic all-around default: jump to the Library page
switch_to_page(library_branch.photos_entry.get_page());
}
+ #endif
private void subscribe_for_basic_information(Page page) {
ViewCollection view = page.get_view();
@@ -1356,6 +1390,7 @@ public class LibraryWindow : AppWindow {
}
}
+ #if 0
public override bool key_press_event(Gdk.EventKey event) {
if (sidebar_tree.has_focus && sidebar_tree.is_keypress_interpreted(event)
&& sidebar_tree.key_press_event(event)) {
@@ -1372,5 +1407,6 @@ public class LibraryWindow : AppWindow {
return false;
}
+ #endif
}
diff --git a/src/library/TrashSidebarEntry.vala b/src/library/TrashSidebarEntry.vala
index 1269ce89..b62ce05f 100644
--- a/src/library/TrashSidebarEntry.vala
+++ b/src/library/TrashSidebarEntry.vala
@@ -45,9 +45,11 @@ public class Library.TrashSidebarEntry : Sidebar.SimplePageEntry, Sidebar.Intern
return true;
}
+#if DOES_NOT_WORK_WITH_GTK4
public bool internal_drop_received_arbitrary(Gtk.SelectionData data) {
return false;
}
+ #endif
protected override Page create_page() {
return new TrashPage();
diff --git a/src/main.vala b/src/main.vala
index 014b0b54..74a10f01 100644
--- a/src/main.vala
+++ b/src/main.vala
@@ -81,7 +81,7 @@ void library_exec(string[] mounts) {
Gtk.MessageDialog dialog = new Gtk.MessageDialog(null, Gtk.DialogFlags.MODAL,
Gtk.MessageType.ERROR, Gtk.ButtonsType.OK, "%s", errormsg);
dialog.title = Resources.APP_TITLE;
- dialog.run();
+ dialog.show(); //TODO dialog.run();
dialog.destroy();
DatabaseTable.terminate();
@@ -113,7 +113,7 @@ void library_exec(string[] mounts) {
progress_dialog.update_display_every(100);
progress_dialog.set_minimum_on_screen_time_msec(250);
try {
- progress_dialog.icon = new
Gdk.Pixbuf.from_resource("/org/gnome/Shotwell/icons/hicolor/scalable/org.gnome.Shotwell.svg");
+ //progress_dialog.icon = new
Gdk.Pixbuf.from_resource("/org/gnome/Shotwell/icons/hicolor/scalable/org.gnome.Shotwell.svg");
} catch (Error err) {
debug("Warning - could not load application icon for loading window: %s", err.message);
}
@@ -185,7 +185,7 @@ void library_exec(string[] mounts) {
foreach (string mount in mounts)
library_window.mounted_camera_shell_notification(mount, true);
- library_window.show_all();
+ library_window.show();
WelcomeServiceEntry[] selected_import_entries = new WelcomeServiceEntry[0];
if (Config.Facade.get_instance().get_show_welcome_dialog() &&
@@ -313,7 +313,7 @@ void editing_exec(string filename, bool fullscreen) {
// we'll need to register DirectPhoto.global with the MediaCollectionRegistry
DirectWindow direct_window = new DirectWindow(initial_file);
- direct_window.show_all();
+ direct_window.show();
debug("%lf seconds to Gtk.main()", startup_timer.elapsed());
@@ -384,8 +384,8 @@ void main(string[] args) {
// init GTK (valac has already called g_threads_init())
try {
- Gtk.init_with_args(ref args, _("[FILE]"), CommandlineOptions.entries,
- Resources.APP_GETTEXT_PACKAGE);
+ Gtk.init (); //_with_args(ref args, _("[FILE]"), CommandlineOptions.entries,
+ // TODO Resources.APP_GETTEXT_PACKAGE);
} catch (Error e) {
print(e.message + "\n");
diff --git a/src/meson.build b/src/meson.build
index bdd63864..77eca629 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -6,7 +6,7 @@ sw_graphics_processor = static_library('shotwell-graphics-processor',
'_transformation.c'],
vala_header : 'shotwell-graphics-processor.h',
vala_vapi : 'shotwell-graphics-processor.vapi',
- dependencies : [gio, gee, gdk],
+ dependencies : [gio, gee, gdk_pixbuf],
include_directories : config_incdir,
c_args : '-DG_DISABLE_CAST_CHECKS',
vala_args : '--disable-assert',
@@ -14,20 +14,16 @@ sw_graphics_processor = static_library('shotwell-graphics-processor',
processor = executable('shotwell-graphics-processor',
['graphics-processor.vala'],
- dependencies: [gio, gdk, gee],
+ dependencies: [gio, gee, gdk_pixbuf],
link_with: sw_graphics_processor)
-shotwell_deps = [gio, gee, sqlite, gtk, sqlite, posix, gphoto2,
- gstreamer_pbu, gio_unix, gudev, gexiv2, gmodule,
- libraw, libexif, sw_plugin]
-
shotwell_libs = [sw_graphics_processor]
face_sources = []
face_obj = ''
if get_option('face_detection')
- face_sources = (['faces/FacesBranch.vala',
+ face_sources = ([
'faces/FacePage.vala',
'faces/FaceShape.vala',
'faces/FaceDetect.vala',
@@ -37,7 +33,7 @@ endif
shotwell_deps = [gio, gee, sqlite, gtk, sqlite, posix, gphoto2,
gstreamer_pbu, gio_unix, gudev, gexiv2, gmodule, unity,
- libraw, libexif, sw_plugin, webpdemux, webp, version, gdk ]
+ libraw, libexif, sw_plugin, webpdemux, webp, version, pangocairo ]
subdir('metadata')
subdir('publishing')
@@ -69,9 +65,6 @@ executable(
'db/VideoTable.vala',
'db/VersionTable.vala',
'db/SavedSearchDBTable.vala',
- 'editing_tools/EditingTools.vala',
- 'editing_tools/RGBHistogramManipulator.vala',
- 'editing_tools/StraightenTool.vala',
'faces/Face.vala',
'faces/FaceLocation.vala',
'slideshow/Slideshow.vala',
@@ -101,12 +94,6 @@ executable(
'library/BackgroundProgressBar.vala',
'library/Library.vala',
'library/LibraryWindow.vala',
- 'library/LibraryBranch.vala',
- 'library/TrashSidebarEntry.vala',
- 'library/OfflineSidebarEntry.vala',
- 'library/FlaggedSidebarEntry.vala',
- 'library/LastImportSidebarEntry.vala',
- 'library/ImportQueueSidebarEntry.vala',
'library/FlaggedPage.vala',
'library/ImportQueuePage.vala',
'library/LastImportPage.vala',
@@ -134,45 +121,28 @@ executable(
'core/DataViewTypes.vala',
'core/Tracker.vala',
'core/SourceInterfaces.vala',
- 'sidebar/Sidebar.vala',
- 'sidebar/Branch.vala',
- 'sidebar/Entry.vala',
- 'sidebar/Tree.vala',
- 'sidebar/common.vala',
'events/Events.vala',
- 'events/EventsBranch.vala',
'events/EventsDirectoryPage.vala',
'events/EventPage.vala',
'events/EventDirectoryItem.vala',
'tags/Tags.vala',
- 'tags/TagsBranch.vala',
'tags/TagPage.vala',
'tags/HierarchicalTagIndex.vala',
'tags/HierarchicalTagUtilities.vala',
'camera/Camera.vala',
- 'camera/CameraBranch.vala',
'camera/CameraTable.vala',
'camera/DiscoveredCamera.vala',
'camera/GPhoto.vala',
'camera/ImportPage.vala',
'searches/Searches.vala',
- 'searches/SearchesBranch.vala',
'searches/SearchBoolean.vala',
'searches/SavedSearchPage.vala',
'searches/SavedSearchDialog.vala',
'config/Config.vala',
'config/ConfigurationInterfaces.vala',
'config/GSettingsEngine.vala',
- 'data_imports/DataImports.vala',
- 'data_imports/DataImportsPluginHost.vala',
- 'data_imports/DataImportsUI.vala',
- 'data_imports/DataImportJob.vala',
- 'data_imports/DataImportSource.vala',
'folders/Folders.vala',
- 'folders/FoldersBranch.vala',
'folders/FoldersPage.vala',
- 'import-roll/ImportRollBranch.vala',
- 'import-roll/ImportRollEntry.vala',
'main.vala',
'AppWindow.vala',
'CollectionPage.vala',
@@ -186,7 +156,6 @@ executable(
'Page.vala',
'SinglePhotoPage.vala',
'CheckerboardPage.vala',
- 'DragAndDropHandler.vala',
'PageMessagePane.vala',
'SortedList.vala',
'Dimensions.vala',
diff --git a/src/plugins/ManifestWidget.vala b/src/plugins/ManifestWidget.vala
index 298d6117..2ccff212 100644
--- a/src/plugins/ManifestWidget.vala
+++ b/src/plugins/ManifestWidget.vala
@@ -20,7 +20,7 @@ public class ManifestWidgetMediator : Gtk.Box {
public ManifestWidgetMediator() {
Object();
- list_bin.add(list);
+ list_bin.set_child(list);
about_button.clicked.connect(on_about);
list.get_selection().changed.connect(on_selection_changed);
@@ -64,17 +64,19 @@ public class ManifestWidgetMediator : Gtk.Box {
about_dialog.copyright = info.copyright;
about_dialog.license = info.license;
about_dialog.wrap_license = info.is_license_wordwrapped;
+ #if 0
about_dialog.logo = (info.icons != null && info.icons.length > 0) ? info.icons[0] :
Resources.get_icon(Resources.ICON_GENERIC_PLUGIN);
+ #endif
about_dialog.program_name = get_pluggable_name(id);
about_dialog.translator_credits = info.translators;
about_dialog.version = info.version;
about_dialog.website = info.website_url;
about_dialog.website_label = info.website_name;
+ about_dialog.set_modal (true);
- about_dialog.run();
-
- about_dialog.destroy();
+ // TODO about_dialog.run();
+ Gtk.show_about_dialog(about_dialog);
}
private void on_selection_changed() {
@@ -121,7 +123,6 @@ private class ManifestListView : Gtk.TreeView {
checkbox_renderer.activatable = true;
Gtk.CellRendererPixbuf icon_renderer = new Gtk.CellRendererPixbuf();
- icon_renderer.stock_size = Gtk.IconSize.MENU;
icon_renderer.xpad = ICON_X_PADDING;
icon_renderer.ypad = ICON_Y_PADDING;
@@ -148,7 +149,7 @@ private class ManifestListView : Gtk.TreeView {
set_grid_lines(Gtk.TreeViewGridLines.NONE);
get_selection().set_mode(Gtk.SelectionMode.BROWSE);
- Gtk.IconTheme icon_theme = Gtk.IconTheme.get_default();
+ Gtk.IconTheme icon_theme = Gtk.IconTheme.get_for_display (Gdk.Display.get_default());
// create a list of plugins (sorted by name) that are separated by extension points (sorted
// by name)
@@ -156,17 +157,10 @@ private class ManifestListView : Gtk.TreeView {
Gtk.TreeIter category_iter;
store.append(out category_iter, null);
- Gdk.Pixbuf? icon = null;
+ Gdk.Paintable? icon = null;
if (extension_point.icon_name != null) {
- Gtk.IconInfo? icon_info = icon_theme.lookup_by_gicon(
- new ThemedIcon(extension_point.icon_name), ICON_SIZE, 0);
- if (icon_info != null) {
- try {
- icon = icon_info.load_icon();
- } catch (Error err) {
- warning("Unable to load icon %s: %s", extension_point.icon_name, err.message);
- }
- }
+ icon = icon_theme.lookup_by_gicon(
+ new ThemedIcon(extension_point.icon_name), ICON_SIZE, 0, Gtk.TextDirection.NONE, 0);
}
store.set(category_iter, Column.NAME, extension_point.name, Column.CAN_ENABLE, false,
@@ -182,9 +176,11 @@ private class ManifestListView : Gtk.TreeView {
Spit.PluggableInfo info = Spit.PluggableInfo();
pluggable.get_info(ref info);
+ #if 0
icon = (info.icons != null && info.icons.length > 0)
? info.icons[0]
: Resources.get_icon(Resources.ICON_GENERIC_PLUGIN, ICON_SIZE);
+ #endif
Gtk.TreeIter plugin_iter;
store.append(out plugin_iter, category_iter);
@@ -229,6 +225,7 @@ private class ManifestListView : Gtk.TreeView {
//
// The only way found to work around this is to capture the button-down event and do our own
// hit-testing.
+ #if DOES_NOT_WORK_WITH_GTK4
public override bool button_press_event(Gdk.EventButton event) {
Gtk.TreePath path;
Gtk.TreeViewColumn col;
@@ -261,6 +258,7 @@ private class ManifestListView : Gtk.TreeView {
return true;
}
+ #endif
}
}
diff --git a/src/publishing/PublishingPluginHost.vala b/src/publishing/PublishingPluginHost.vala
index 22f6c34d..93ee03f3 100644
--- a/src/publishing/PublishingPluginHost.vala
+++ b/src/publishing/PublishingPluginHost.vala
@@ -185,8 +185,7 @@ public class ConcretePublishingHost : Plugins.StandardHostInterface,
}
public void set_dialog_default_widget(Gtk.Widget widget) {
- widget.can_default = true;
- dialog.set_default(widget);
+ dialog.set_default_widget(widget);
}
public Spit.Publishing.Publisher.MediaType get_publishable_media_type() {
diff --git a/src/publishing/PublishingUI.vala b/src/publishing/PublishingUI.vala
index 7aacb3d3..1461c1d9 100644
--- a/src/publishing/PublishingUI.vala
+++ b/src/publishing/PublishingUI.vala
@@ -36,7 +36,7 @@ public class PublishingDialog : Gtk.Dialog {
bool use_header = Resources.use_header_bar() == 1;
Object(use_header_bar: Resources.use_header_bar());
if (use_header) {
- ((Gtk.HeaderBar) get_header_bar()).set_show_close_button(false);
+ ((Gtk.HeaderBar) get_header_bar()).set_show_title_buttons(false);
} else {
get_content_area().set_spacing(6);
}
@@ -44,7 +44,7 @@ public class PublishingDialog : Gtk.Dialog {
resizable = false;
modal = true;
set_transient_for(AppWindow.get_instance());
- delete_event.connect(on_window_close);
+ close_request.connect(on_window_close);
publishables = new Spit.Publishing.Publishable[0];
bool has_photos = false;
@@ -144,31 +144,29 @@ public class PublishingDialog : Gtk.Dialog {
service_selector_box.vexpand = false;
Gtk.Box service_selector_layouter = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 8);
- service_selector_layouter.set_border_width(12);
service_selector_layouter.hexpand = true;
- service_selector_layouter.add(service_selector_box_label);
- service_selector_layouter.pack_start(service_selector_box, true, true, 0);
+ service_selector_layouter.append(service_selector_box_label);
+ service_selector_layouter.prepend(service_selector_box);
/* 'service area' is the selector assembly plus the horizontal rule dividing it from the
rest of the dialog */
Gtk.Box service_area_layouter = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- service_area_layouter.add(service_selector_layouter);
- service_area_layouter.add(new Gtk.Separator(Gtk.Orientation.HORIZONTAL));
+ service_area_layouter.append(service_selector_layouter);
+ service_area_layouter.append(new Gtk.Separator(Gtk.Orientation.HORIZONTAL));
service_area_layouter.halign = Gtk.Align.FILL;
service_area_layouter.valign = Gtk.Align.START;
service_area_layouter.hexpand = true;
service_area_layouter.vexpand = false;
- get_content_area().pack_start(service_area_layouter, false, false, 0);
+ get_content_area().prepend(service_area_layouter);
}
central_area_layouter = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- get_content_area().pack_start(central_area_layouter, true, true, 0);
+ get_content_area().prepend(central_area_layouter);
if (use_header) {
close_cancel_button = new Gtk.Button.with_mnemonic("_Cancel");
- close_cancel_button.set_can_default(true);
((Gtk.HeaderBar) get_header_bar()).pack_start(close_cancel_button);
((Gtk.HeaderBar) get_header_bar()).pack_end(service_selector_box);
@@ -181,7 +179,7 @@ public class PublishingDialog : Gtk.Dialog {
set_standard_window_mode();
- show_all();
+ show();
}
private static Spit.Publishing.Service[] load_all_services() {
@@ -308,7 +306,7 @@ public class PublishingDialog : Gtk.Dialog {
elapsed_is_valid = true;
}
- private bool on_window_close(Gdk.EventAny evt) {
+ private bool on_window_close() {
host.stop_publishing();
host = null;
hide();
@@ -396,12 +394,12 @@ public class PublishingDialog : Gtk.Dialog {
public void set_close_button_mode() {
close_cancel_button.set_label(_("_Close"));
- set_default(close_cancel_button);
+ set_default_widget(close_cancel_button);
}
public void set_cancel_button_mode() {
close_cancel_button.set_label(_("_Cancel"));
- set_default(null);
+ set_default_widget(null);
}
public void lock_service() {
@@ -422,8 +420,8 @@ public class PublishingDialog : Gtk.Dialog {
central_area_layouter.remove(active_pane.get_widget());
}
- central_area_layouter.pack_start(pane.get_widget(), true, true, 0);
- show_all();
+ central_area_layouter.prepend(pane.get_widget());
+ show();
Spit.Publishing.DialogPane.GeometryOptions geometry_options =
pane.get_preferred_geometry();
@@ -446,7 +444,7 @@ public class PublishingDialog : Gtk.Dialog {
public new int run() {
on_service_changed();
- int result = base.run();
+ int result = 0; //base.run();
host = null;
diff --git a/src/publishing/StaticMessagePaneWidget.vala b/src/publishing/StaticMessagePaneWidget.vala
index 6d51e972..99dd4bd9 100644
--- a/src/publishing/StaticMessagePaneWidget.vala
+++ b/src/publishing/StaticMessagePaneWidget.vala
@@ -31,7 +31,7 @@ public class StaticMessagePane : Spit.Publishing.DialogPane, Gtk.Box {
if (enable_markup) {
static_msg_label.set_markup(message_string);
- static_msg_label.set_line_wrap(true);
+ static_msg_label.set_wrap(true);
static_msg_label.set_use_markup(true);
} else {
static_msg_label.set_label(message_string);
diff --git a/src/searches/SavedSearchDialog.vala b/src/searches/SavedSearchDialog.vala
index 0ba5426b..9cb7ff6c 100644
--- a/src/searches/SavedSearchDialog.vala
+++ b/src/searches/SavedSearchDialog.vala
@@ -48,18 +48,17 @@ public class SavedSearchDialog : Gtk.Dialog {
set_type_combo_box(SearchCondition.SearchType.ANY_TEXT); // Sets default.
type_combo.changed.connect(on_type_changed);
- remove_button = new Gtk.Button.from_icon_name("window-close-symbolic", Gtk.IconSize.BUTTON);
- remove_button.set_relief(Gtk.ReliefStyle.NONE);
+ remove_button = new Gtk.Button.from_icon_name("window-close-symbolic");
remove_button.clicked.connect(on_removed);
box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 6);
- box.pack_start(type_combo, false, false, 0);
- box.pack_end(remove_button, false, false, 0);
+ box.prepend(type_combo);
+ box.append(remove_button);
box.margin_top = 2;
box.margin_bottom = 2;
box.margin_start = 8;
box.margin_end = 8;
- box.show_all();
+ box.show();
}
private void on_type_changed() {
@@ -112,7 +111,7 @@ public class SavedSearchDialog : Gtk.Dialog {
assert_not_reached ();
}
- box.pack_start (my_row.get_widget());
+ box.append (my_row.get_widget());
}
public SearchCondition.SearchType get_search_type() {
@@ -183,9 +182,9 @@ public class SavedSearchDialog : Gtk.Dialog {
entry.changed.connect(on_changed);
box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 3);
- box.pack_start(text_context, false, false, 0);
- box.pack_start(entry, false, false, 0);
- box.show_all();
+ box.append(text_context);
+ box.append(entry);
+ box.show();
}
~SearchRowText() {
@@ -261,9 +260,9 @@ public class SavedSearchDialog : Gtk.Dialog {
media_type.changed.connect(on_changed);
box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 3);
- box.pack_start(media_context, false, false, 0);
- box.pack_start(media_type, false, false, 0);
- box.show_all();
+ box.append(media_context);
+ box.append(media_type);
+ box.show();
}
~SearchRowMediaType() {
@@ -323,9 +322,9 @@ public class SavedSearchDialog : Gtk.Dialog {
modified_state.changed.connect(on_changed);
box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 3);
- box.pack_start(modified_context, false, false, 0);
- box.pack_start(modified_state, false, false, 0);
- box.show_all();
+ box.append(modified_context);
+ box.append(modified_state);
+ box.show();
}
~SearchRowModified() {
@@ -378,9 +377,9 @@ public class SavedSearchDialog : Gtk.Dialog {
flagged_state.changed.connect(on_changed);
box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 3);
- box.pack_start(new Gtk.Label(_("is")), false, false, 0);
- box.pack_start(flagged_state, false, false, 0);
- box.show_all();
+ box.append(new Gtk.Label(_("is")));
+ box.append(flagged_state);
+ box.show();
}
~SearchRowFlagged() {
@@ -443,10 +442,10 @@ public class SavedSearchDialog : Gtk.Dialog {
context.changed.connect(on_changed);
box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 3);
- box.pack_start(new Gtk.Label(_("is")), false, false, 0);
- box.pack_start(rating, false, false, 0);
- box.pack_start(context, false, false, 0);
- box.show_all();
+ box.append(new Gtk.Label(_("is")));
+ box.append(rating);
+ box.append(context);
+ box.show();
}
~SearchRowRating() {
@@ -518,12 +517,12 @@ public class SavedSearchDialog : Gtk.Dialog {
and = new Gtk.Label(_("and"));
box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 3);
- box.pack_start(context, false, false, 0);
- box.pack_start(label_one, false, false, 0);
- box.pack_start(and, false, false, 0);
- box.pack_start(label_two, false, false, 0);
+ box.append(context);
+ box.append(label_one);
+ box.append(and);
+ box.append(label_two);
- box.show_all();
+ box.show();
update_date_labels();
}
@@ -614,13 +613,10 @@ public class SavedSearchDialog : Gtk.Dialog {
d.set_modal(true);
d.set_resizable(false);
d.set_decorated(false);
- ((Gtk.Box) d.get_content_area()).add(cal);
+ ((Gtk.Box) d.get_content_area()).append(cal);
ulong id_1 = cal.day_selected.connect(()=>{update_date_labels();});
- ulong id_2 = cal.day_selected_double_click.connect(()=> {
- d.response(Gtk.ResponseType.ACCEPT);
- });
- d.show_all();
- int res = d.run();
+ d.show();
+ int res = 0; //d.run();
if (res != Gtk.ResponseType.ACCEPT) {
// User hit cancel, restore original date.
cal.day = orig_day;
@@ -628,7 +624,6 @@ public class SavedSearchDialog : Gtk.Dialog {
cal.year = orig_year;
}
cal.disconnect(id_1);
- cal.disconnect(id_2);
d.destroy();
update_date_labels();
}
@@ -670,7 +665,7 @@ public class SavedSearchDialog : Gtk.Dialog {
add_text_search();
row_list.get(0).allow_removal(false);
- show_all();
+ show();
set_valid(false);
}
@@ -681,7 +676,7 @@ public class SavedSearchDialog : Gtk.Dialog {
edit_mode = true;
setup_dialog();
- show_all();
+ show();
// Load existing search into dialog.
operator.set_active((SearchOperator) saved_search.get_operator());
@@ -705,16 +700,18 @@ public class SavedSearchDialog : Gtk.Dialog {
search_title.changed.connect(on_title_changed);
if (Resources.use_header_bar() == 1) {
- var box = search_title.get_parent();
+ var box = (Gtk.Box)search_title.get_parent();
box.remove(search_title);
- box.get_parent().remove(box);
- ((Gtk.HeaderBar) get_header_bar()).set_custom_title(search_title);
+ ((Gtk.Box)box.get_parent()).remove(box);
+ ((Gtk.HeaderBar) get_header_bar()).set_title_widget(search_title);
}
}
// Displays the dialog.
public new void show() {
- run();
+ //run();
+ base.show();
+ // TODO
destroy();
}
diff --git a/src/searches/Searches.vala b/src/searches/Searches.vala
index 20213818..f13a987e 100644
--- a/src/searches/Searches.vala
+++ b/src/searches/Searches.vala
@@ -20,11 +20,11 @@ public void preconfigure() {
}
public void init() throws Error {
- Searches.SidebarEntry.init();
+ //Searches.SidebarEntry.init();
}
public void terminate() {
- Searches.SidebarEntry.terminate();
+ //Searches.SidebarEntry.terminate();
}
}
diff --git a/src/sidebar/Entry.vala b/src/sidebar/Entry.vala
index f009e409..b2740fac 100644
--- a/src/sidebar/Entry.vala
+++ b/src/sidebar/Entry.vala
@@ -65,7 +65,9 @@ public interface Sidebar.DestroyableEntry : Sidebar.Entry {
public interface Sidebar.InternalDropTargetEntry : Sidebar.Entry {
// Returns true if drop was successful
public abstract bool internal_drop_received(Gee.List<MediaSource> sources);
+ #if 0
public abstract bool internal_drop_received_arbitrary(Gtk.SelectionData data);
+ #endif
}
public interface Sidebar.InternalDragSourceEntry : Sidebar.Entry {
diff --git a/src/sidebar/Tree.vala b/src/sidebar/Tree.vala
index aae81a01..b07af779 100644
--- a/src/sidebar/Tree.vala
+++ b/src/sidebar/Tree.vala
@@ -90,7 +90,7 @@ public class Sidebar.Tree : Gtk.TreeView {
public signal void destroying_page(Sidebar.PageRepresentative entry, Page page);
- public Tree(Gtk.TargetEntry[] target_entries, Gdk.DragAction actions,
+ public Tree(Gdk.ContentFormats[] target_entries, Gdk.DragAction actions,
ExternalDropHandler drop_handler) {
set_model(store);
diff --git a/src/tags/Tags.vala b/src/tags/Tags.vala
index 308865be..335572b3 100644
--- a/src/tags/Tags.vala
+++ b/src/tags/Tags.vala
@@ -7,11 +7,11 @@
namespace Tags {
public void init() throws Error {
- Tags.SidebarEntry.init();
+ //Tags.SidebarEntry.init();
}
public void terminate() {
- Tags.SidebarEntry.terminate();
+ //Tags.SidebarEntry.terminate();
}
}
diff --git a/src/util/KeyValueMap.vala b/src/util/KeyValueMap.vala
index dfc1fd2f..9980a00a 100644
--- a/src/util/KeyValueMap.vala
+++ b/src/util/KeyValueMap.vala
@@ -4,6 +4,14 @@
* (version 2.1 or later). See the COPYING file in this distribution.
*/
+namespace Gdk {
+ [Compact]
+ public struct Point {
+ int x;
+ int y;
+ }
+}
+
public class KeyValueMap {
private string group;
private Gee.HashMap<string, string> map = new Gee.HashMap<string, string>();
@@ -91,7 +99,7 @@ public class KeyValueMap {
return (value != null) ? bool.parse(value) : def;
}
-
+
// REDEYE: redeye reduction operates on circular regions defined by
// (Gdk.Point, int) pairs, where the Gdk.Point specifies the
// bounding circle's center and the the int specifies the circle's
diff --git a/src/util/image.vala b/src/util/image.vala
index 2133364f..2d8e9bf1 100644
--- a/src/util/image.vala
+++ b/src/util/image.vala
@@ -24,17 +24,17 @@ void set_source_color_from_string(Cairo.Context ctx, string spec) {
private const int MIN_SCALED_WIDTH = 10;
private const int MIN_SCALED_HEIGHT = 10;
-Gdk.Pixbuf get_placeholder_pixbuf () {
+Gdk.Paintable get_placeholder_pixbuf () {
// Create empty pixbuf.
- Gdk.Pixbuf? pixbuf = null;
+ Gdk.Paintable? pixbuf = null;
try {
- var icon_theme = Gtk.IconTheme.get_default ();
- pixbuf = icon_theme.load_icon("image-missing",
- Gtk.IconSize.DIALOG, 0);
+ var icon_theme = Gtk.IconTheme.get_for_display (Gdk.Display.get_default());
+ pixbuf = icon_theme.lookup_icon("image-missing", null,
+ Gtk.IconSize.LARGE, 0, Gtk.TextDirection.NONE, 0);
} catch (Error error) {
try {
- pixbuf = new Gdk.Pixbuf.from_resource("/org/gnome/Shotwell/icons/image-missing.png");
+ pixbuf = Gdk.Texture.from_resource("/org/gnome/Shotwell/icons/image-missing.png");
} catch (Error err) {
warning("Could not load fall-back icon: %s", err.message);
}
diff --git a/src/util/misc.vala b/src/util/misc.vala
index 6c44dfe6..2d263626 100644
--- a/src/util/misc.vala
+++ b/src/util/misc.vala
@@ -180,6 +180,7 @@ public Gee.List<PhotoID?>? unserialize_photo_ids(uchar* serialized, int size) {
}
public uchar[] serialize_media_sources(Gee.Collection<MediaSource> media) {
+#if 0
Gdk.Atom[] atoms = new Gdk.Atom[media.size];
int ctr = 0;
foreach (MediaSource current_media in media)
@@ -188,11 +189,14 @@ public uchar[] serialize_media_sources(Gee.Collection<MediaSource> media) {
size_t bytes = media.size * sizeof(Gdk.Atom);
uchar[] serialized = new uchar[bytes];
Memory.copy(serialized, atoms, bytes);
-
return serialized;
+ #endif
+
+ return new uchar[0];
}
public Gee.List<MediaSource>? unserialize_media_sources(uchar* serialized, int size) {
+#if 0
size_t count = (size / sizeof(Gdk.Atom));
if (count <= 0 || serialized == null)
return null;
@@ -208,6 +212,8 @@ public Gee.List<MediaSource>? unserialize_media_sources(uchar* serialized, int s
}
return list;
+ #endif
+ return null;
}
public string format_local_datespan(Time from_date, Time to_date) {
diff --git a/src/util/system.vala b/src/util/system.vala
index 48e2cc98..cfb24d61 100644
--- a/src/util/system.vala
+++ b/src/util/system.vala
@@ -44,7 +44,7 @@ async void show_file_in_filemanager(File file) throws Error {
yield manager.show_items({file.get_uri()}, id);
} catch (Error e) {
warning("Failed to launch file manager using DBus, using fall-back: %s", e.message);
- Gtk.show_uri_on_window(AppWindow.get_instance(), file.get_parent().get_uri(), Gdk.CURRENT_TIME);
+ Gtk.show_uri(AppWindow.get_instance(), file.get_parent().get_uri(), Gdk.CURRENT_TIME);
}
}
diff --git a/src/util/ui.vala b/src/util/ui.vala
index c8638ca6..00a485cf 100644
--- a/src/util/ui.vala
+++ b/src/util/ui.vala
@@ -36,8 +36,8 @@ public enum Direction {
}
public void spin_event_loop() {
- while (Gtk.events_pending())
- Gtk.main_iteration();
+ while (MainContext.default().pending())
+ MainContext.default().iteration(true);
}
public AdjustmentRelation get_adjustment_relation(Gtk.Adjustment adjustment, int value) {
@@ -77,10 +77,7 @@ public bool has_only_key_modifier(Gdk.ModifierType field, Gdk.ModifierType mask)
return (field
& (Gdk.ModifierType.SHIFT_MASK
| Gdk.ModifierType.CONTROL_MASK
- | Gdk.ModifierType.MOD1_MASK
- | Gdk.ModifierType.MOD3_MASK
- | Gdk.ModifierType.MOD4_MASK
- | Gdk.ModifierType.MOD5_MASK
+ | Gdk.ModifierType.ALT_MASK
| Gdk.ModifierType.SUPER_MASK
| Gdk.ModifierType.HYPER_MASK
| Gdk.ModifierType.META_MASK)) == mask;
diff --git a/src/video-support/Video.vala b/src/video-support/Video.vala
index b4c798a0..f61a251a 100644
--- a/src/video-support/Video.vala
+++ b/src/video-support/Video.vala
@@ -531,6 +531,8 @@ public class Video : VideoSource, Flaggable, Monitorable, Dateable {
AppWindow.database_error(err);
return;
+ } catch (Error err) {
+ // TODO
}
notify_altered(new Alteration("metadata", "master-timestamp"));
@@ -723,6 +725,8 @@ public class Video : VideoSource, Flaggable, Monitorable, Dateable {
AppWindow.database_error(err);
return;
+ } catch (Error err) {
+ // TODO
}
assert(old_filepath != null);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]