diff --git a/src/calls-new-call-header-bar.c b/src/calls-new-call-header-bar.c new file mode 100644 index 0000000..cbdca6e --- /dev/null +++ b/src/calls-new-call-header-bar.c @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * This file is part of Calls. + * + * Calls is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calls is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calls. If not, see <http://www.gnu.org/licenses/>. + * + * Author: Adrien Plazas <adrien.plazas@puri.sm> + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +#include "calls-new-call-header-bar.h" + +struct _CallsNewCallHeaderBar +{ + GtkHeaderBar parent_instance; +}; + +G_DEFINE_TYPE (CallsNewCallHeaderBar, calls_new_call_header_bar, GTK_TYPE_HEADER_BAR); + + +static void +calls_new_call_header_bar_init (CallsNewCallHeaderBar *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); +} + + +static void +calls_new_call_header_bar_class_init (CallsNewCallHeaderBarClass *klass) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + gtk_widget_class_set_template_from_resource (widget_class, "/sm/puri/calls/ui/new-call-header-bar.ui"); +} + diff --git a/src/calls-new-call-header-bar.h b/src/calls-new-call-header-bar.h new file mode 100644 index 0000000..7eae143 --- /dev/null +++ b/src/calls-new-call-header-bar.h @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * This file is part of Calls. + * + * Calls is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calls is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calls. If not, see <http://www.gnu.org/licenses/>. + * + * Author: Adrien Plazas <adrien.plazas@puri.sm> + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +#ifndef CALLS_NEW_CALL_HEADER_BAR_H__ +#define CALLS_NEW_CALL_HEADER_BAR_H__ + +#include <gtk/gtk.h> + +G_BEGIN_DECLS + +#define CALLS_TYPE_NEW_CALL_HEADER_BAR (calls_new_call_header_bar_get_type ()) + +G_DECLARE_FINAL_TYPE (CallsNewCallHeaderBar, calls_new_call_header_bar, CALLS, NEW_CALL_HEADER_BAR, GtkHeaderBar); + +G_END_DECLS + +#endif /* CALLS_NEW_CALL_HEADER_BAR_H__ */ diff --git a/src/calls.gresources.xml b/src/calls.gresources.xml index ad8716e..73577f7 100644 --- a/src/calls.gresources.xml +++ b/src/calls.gresources.xml @@ -9,5 +9,6 @@ <file preprocess="xml-stripblanks">history-box.ui</file> <file preprocess="xml-stripblanks">history-header-bar.ui</file> <file preprocess="xml-stripblanks">new-call-box.ui</file> + <file preprocess="xml-stripblanks">new-call-header-bar.ui</file> </gresource> </gresources> diff --git a/src/meson.build b/src/meson.build index 55e753c..0ad652b 100644 --- a/src/meson.build +++ b/src/meson.build @@ -50,6 +50,7 @@ calls_sources = ['calls-message-source.c', 'calls-message-source.h', 'calls-history-box.c', 'calls-history-box.h', 'calls-history-header-bar.c', 'calls-history-header-bar.h', 'calls-new-call-box.c', 'calls-new-call-box.h', + 'calls-new-call-header-bar.c', 'calls-new-call-header-bar.h', 'calls-main-window.c', 'calls-main-window.h', 'util.c', 'util.h', ] diff --git a/src/ui/new-call-header-bar.ui b/src/ui/new-call-header-bar.ui new file mode 100644 index 0000000..90cf991 --- /dev/null +++ b/src/ui/new-call-header-bar.ui @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk+" version="3.22"/> + <requires lib="libhandy" version="0.0"/> + <template class="CallsNewCallHeaderBar" parent="GtkHeaderBar"> + <property name="can_focus">False</property> + <property name="show-close-button">True</property> + <property name="title" translatable="yes">New Call</property> + <property name="visible">True</property> + <child> + <object class="GtkButton" id="back"> + <property name="action-name">win.back</property> + <property name="visible">True</property> + <property name="valign">center</property> + <property name="use-underline">True</property> + <style> + <class name="image-button"/> + </style> + <child internal-child="accessible"> + <object class="AtkObject" id="a11y-back"> + <property name="accessible-name" translatable="yes">Back</property> + </object> + </child> + <child> + <object class="GtkImage" id="back_image"> + <property name="visible">True</property> + <property name="icon-name">go-previous-symbolic</property> + <property name="icon-size">1</property> + </object> + </child> + </object> + <packing> + <property name="pack-type">start</property> + </packing> + </child> + <child type="title"> + <object class="GtkStackSwitcher" id="stack_switcher"> + <property name="can_focus">False</property> + <property name="visible">True</property> + </object> + </child> + </template> +</interface>