Initial Commit

The initial commit of gnome-image-viewer.
Things are in an MVP state, with image viewing and
opening from the desktop functional. We also can
open images externally, print them, and set them as
backgrounds.
This commit is contained in:
Christopher Davis 2020-12-26 02:05:34 -08:00
commit f692ab5626
38 changed files with 3807 additions and 0 deletions

121
data/gtk/window.ui Normal file
View file

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="IvWindow" parent="HdyApplicationWindow">
<property name="default-width">600</property>
<property name="default-height">498</property>
<property name="width-request">360</property>
<property name="title">Image Viewer</property>
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkHeaderBar" id="headerbar">
<property name="show-title-buttons">True</property>
<property name="css-classes">titlebar</property>
<child type="end">
<object class="GtkMenuButton" id="menu_button">
<property name="icon-name">open-menu-symbolic</property>
<property name="menu-model">primary_menu</property>
</object>
</child>
<child type="end">
<object class="GtkButton">
<property name="icon-name">view-fullscreen-symbolic</property>
<property name="action-name">win.toggle-fullscreen</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkStack" id="stack">
<property name="visible-child">status_page</property>
<property name="vexpand">True</property>
<child>
<object class="HdyStatusPage" id="status_page">
<property name="title" translatable="yes">Image Viewer</property>
<property name="description" translatable="yes">Click Here Or Drag An Image To View</property>
<child>
<object class="GtkGestureClick" id="open_gesture"/>
</child>
</object>
</child>
<child>
<object class="IvImageView" id="image_view">
<property name="primary-menu-model">primary_menu</property>
<property name="popover-menu-model">image_menu</property>
</object>
</child>
</object>
</child>
</object>
</property>
</template>
<menu id="primary_menu">
<section>
<item>
<attribute name="label" translatable="yes">_New Window</attribute>
<attribute name="action">app.new-window</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Open With…</attribute>
<attribute name="action">win.open-with</attribute>
</item>
<!--<item>
<attribute name="label" translatable="yes">_Display On…</attribute>
<attribute name="action">win.display-on</attribute>
</item>-->
<item>
<attribute name="label" translatable="yes">_Print…</attribute>
<attribute name="action">win.print</attribute>
</item>
<!--<item>
<attribute name="label" translatable="yes">_Rotate</attribute>
<attribute name="action">win.rotate-image</attribute>
</item>-->
<item>
<attribute name="label" translatable="yes">_Set As Wallpaper</attribute>
<attribute name="action">win.set-wallpaper</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Help</attribute>
<attribute name="action">app.help</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute>
<attribute name="action">win.show-help-overlay</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_About Image Viewer</attribute>
<attribute name="action">app.about</attribute>
</item>
</section>
</menu>
<menu id="image_menu">
<section>
<item>
<attribute name="label" translatable="yes">_Open With…</attribute>
<attribute name="action">win.open-with</attribute>
</item>
<!--<item>
<attribute name="label" translatable="yes">_Display On…</attribute>
<attribute name="action">win.display-on</attribute>
</item>-->
<item>
<attribute name="label" translatable="yes">_Print…</attribute>
<attribute name="action">win.print</attribute>
</item>
<!--<item>
<attribute name="label" translatable="yes">_Rotate</attribute>
<attribute name="action">win.rotate-image</attribute>
</item>-->
<item>
<attribute name="label" translatable="yes">_Set As Wallpaper</attribute>
<attribute name="action">win.set-wallpaper</attribute>
</item>
</section>
</menu>
</interface>