[gnome-characters/bilelmoussaoui/ui-cleanup: 2/10] window: use HdyApplicationWindow
- From: Bilal Elmoussaoui <bilelmoussaoui src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-characters/bilelmoussaoui/ui-cleanup: 2/10] window: use HdyApplicationWindow
- Date: Fri, 12 Feb 2021 02:36:06 +0000 (UTC)
commit 00a4dc76f34ed8b75b7755f5b571b29762322805
Author: Bilal Elmoussaoui <bil elmoussaoui gmail com>
Date: Thu Feb 11 20:53:41 2021 +0100
window: use HdyApplicationWindow
data/mainwindow.ui | 202 +++++++++++++++++++++++++++--------------------------
meson.build | 1 +
src/main.js | 16 +++--
src/window.js | 4 +-
4 files changed, 117 insertions(+), 106 deletions(-)
---
diff --git a/data/mainwindow.ui b/data/mainwindow.ui
index c281147..d3bb1e8 100644
--- a/data/mainwindow.ui
+++ b/data/mainwindow.ui
@@ -1,117 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="3.12"/>
- <template class="Gjs_MainWindow" parent="GtkApplicationWindow">
+ <template class="Gjs_MainWindow" parent="HdyApplicationWindow">
<property name="height-request">660</property>
- <child type="titlebar">
- <object class="GtkHeaderBar" id="main-headerbar">
- <property name="can_focus">False</property>
- <property name="visible">True</property>
- <property name="show-close-button">True</property>
- <property name="has-subtitle">False</property>
- <property name="title" translatable="yes">Current page</property>
- <child>
- <object class="GtkToggleButton" id="search-active-button">
- <property name="can_focus">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkHeaderBar" id="main-headerbar">
+ <property name="can_focus">False</property>
<property name="visible">True</property>
- <style>
- <class name="image-button"/>
- </style>
+ <property name="show-close-button">True</property>
+ <property name="has-subtitle">False</property>
+ <property name="title" translatable="yes">Current page</property>
<child>
- <object class="GtkImage" id="search-button-image">
- <property name="visible">True</property>
- <property name="icon-name">edit-find-symbolic</property>
+ <object class="GtkToggleButton" id="search-active-button">
+ <property name="can_focus">True</property>
+ <property name="visible">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="search-button-image">
+ <property name="visible">True</property>
+ <property name="icon-name">edit-find-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="back-button">
- <property name="can_focus">True</property>
- <property name="visible">False</property>
- <style>
- <class name="image-button"/>
- </style>
<child>
- <object class="GtkImage" id="back-button-image">
- <property name="visible">True</property>
- <property name="icon-name">go-previous-symbolic</property>
+ <object class="GtkButton" id="back-button">
+ <property name="can_focus">True</property>
+ <property name="visible">False</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="back-button-image">
+ <property name="visible">True</property>
+ <property name="icon-name">go-previous-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="menu-button">
- <property name="can_focus">False</property>
- <property name="visible">True</property>
- <property name="use_popover">True</property>
- <style>
- <class name="image-button"/>
- </style>
<child>
- <object class="GtkImage" id="menu-button-image">
- <property name="visible">True</property>
- <property name="icon-name">open-menu-symbolic</property>
+ <object class="GtkMenuButton" id="menu-button">
+ <property name="can_focus">False</property>
+ <property name="visible">True</property>
+ <property name="use_popover">True</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="menu-button-image">
+ <property name="visible">True</property>
+ <property name="icon-name">open-menu-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="main-grid">
- <property name="can_focus">False</property>
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="valign">fill</property>
- <child>
- <object class="GtkBox" id="main-hbox">
- <property name="can_focus">False</property>
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <child>
- <object class="GtkGrid" id="sidebar-grid">
- <property name="can_focus">False</property>
- <property name="visible">True</property>
- <property name="hexpand">False</property>
- <property name="vexpand">True</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkSearchBar" id="search-bar">
- <property name="visible">True</property>
- <property name="halign">fill</property>
- <child>
- <object class="GtkSearchEntry" id="search-entry">
- <property name="can_focus">True</property>
- <property name="halign">fill</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkVSeparator">
- <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="main-grid">
+ <property name="can_focus">False</property>
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="valign">fill</property>
+ <child>
+ <object class="GtkBox" id="main-hbox">
+ <property name="can_focus">False</property>
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <child>
+ <object class="GtkGrid" id="sidebar-grid">
+ <property name="can_focus">False</property>
+ <property name="visible">True</property>
+ <property name="hexpand">False</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkSearchBar" id="search-bar">
+ <property name="visible">True</property>
+ <property name="halign">fill</property>
+ <child>
+ <object class="GtkSearchEntry" id="search-entry">
+ <property name="can_focus">True</property>
+ <property name="halign">fill</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkVSeparator">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
</child>
- <child>
- <placeholder/>
- </child>
- </object>
- </child>
+ </object>
+ </child>
</object>
</child>
</template>
diff --git a/meson.build b/meson.build
index 0c0a274..baa199e 100644
--- a/meson.build
+++ b/meson.build
@@ -49,6 +49,7 @@ libgc_deps = [
dependency('gio-2.0'),
dependency('gtk+-3.0'),
dependency('pango'),
+ dependency('libhandy-1', version: '>= 1.1'),
declare_dependency(link_args: '-lunistring')
]
diff --git a/src/main.js b/src/main.js
index 24e08e7..7413c74 100644
--- a/src/main.js
+++ b/src/main.js
@@ -26,13 +26,16 @@
pkg.initGettext();
pkg.initFormat();
-pkg.require({ 'Gdk': '3.0',
- 'Gio': '2.0',
- 'GLib': '2.0',
- 'GObject': '2.0',
- 'Gtk': '3.0' });
+pkg.require({
+ 'Gdk': '3.0',
+ 'Gio': '2.0',
+ 'GLib': '2.0',
+ 'GObject': '2.0',
+ 'Gtk': '3.0',
+ 'Handy': '1',
+});
-const {GLib, Gio, GObject, Gtk} = imports.gi;
+const {GLib, Gio, GObject, Gtk, Handy} = imports.gi;
const Util = imports.util;
const Window = imports.window;
@@ -88,6 +91,7 @@ var MyApplication = GObject.registerClass({
if (!this._appwindow) {
this._appwindow = new Window.MainWindow({ application: this });
}
+ Handy.init();
this._appwindow.present();
log("Characters Application activated");
diff --git a/src/window.js b/src/window.js
index 8e09a2c..5614223 100644
--- a/src/window.js
+++ b/src/window.js
@@ -24,7 +24,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-const {Gio, GLib, GObject, Gtk } = imports.gi;
+const {Gio, GLib, GObject, Gtk, Handy } = imports.gi;
const Params = imports.params;
const CategoryList = imports.categoryList;
@@ -47,7 +47,7 @@ var MainWindow = GObject.registerClass({
'search-active', '', '',
GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE, false)
},
-}, class MainWindow extends Gtk.ApplicationWindow {
+}, class MainWindow extends Handy.ApplicationWindow {
_init(params) {
params = Params.fill(params, { title: GLib.get_application_name(),
default_width: 640,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]