45 :
Gtk::Application(
"org.inkscape.Inkview",
46 Gio::Application::Flags::HANDLES_OPEN |
47 Gio::Application::Flags::NON_UNIQUE )
63 Glib::set_application_name(N_(
"Inkview - An SVG File Viewer"));
65#if GLIBMM_CHECK_VERSION(2,56,0)
68 set_option_context_parameter_string(_(
"path1 [path2 [pathN]]"));
69 set_option_context_summary(_(
"Open one or more SVG files (or folders containing SVG files) for viewing."));
76 add_main_option_entry(OptionType::BOOL,
"version",
'V', N_(
"Print Inkview version"),
"");
77 add_main_option_entry(OptionType::BOOL,
"fullscreen",
'f', N_(
"Launch in fullscreen mode"),
"");
78 add_main_option_entry(OptionType::BOOL,
"recursive",
'r', N_(
"Search folders recursively"),
"");
79 add_main_option_entry(OptionType::INT,
"timer",
't', N_(
"Change image every NUMBER seconds"), N_(
"NUMBER"));
80 add_main_option_entry(OptionType::DOUBLE,
"scale",
's', N_(
"Scale image by factor NUMBER"), N_(
"NUMBER"));
81 add_main_option_entry(OptionType::BOOL,
"preload",
'p', N_(
"Preload files"),
"");
89 register_application();
110 Glib::ustring title = _(
"Select Files or Folders to view");
111 Gtk::FileChooserDialog file_chooser(title +
"…", Gtk::FileChooser::Action::OPEN);
112 file_chooser.add_button(_(
"Select"), 42);
114 file_chooser.set_select_multiple();
116 Glib::RefPtr<Gtk::FileFilter> file_filter = Gtk::FileFilter::create();
117 file_filter->add_pattern(
"*.svg");
118 file_filter->set_name(_(
"Scalable Vector Graphics"));
119 file_chooser.add_filter(file_filter);
123 auto files = file_chooser.get_files2();
124 if (!files.empty()) {
helper functions for gettext