diff --git a/css/styles.css b/css/styles.css
index cbdb7547..ec400cec 100644
--- a/css/styles.css
+++ b/css/styles.css
@@ -98,9 +98,6 @@ scale trough slider {
font-size: 21px;
font-weight: 500;
}
-.adwicons .clappercontrols {
- margin-bottom: -1px;
-}
.clappercontrols {
margin-left: 2px;
margin-right: 2px;
@@ -136,12 +133,6 @@ scale trough slider {
.fullscreen.tvmode .clappercontrols button image {
-gtk-icon-size: 24px;
}
-.adwicons .playbackicon {
- -gtk-icon-size: 20px;
-}
-.adwicons.fullscreen.tvmode .playbackicon {
- -gtk-icon-size: 28px;
-}
.clappercontrolsbutton.text-button label {
font-family: 'Cantarell', sans-serif;
font-variant-numeric: tabular-nums;
diff --git a/data/com.github.rafostar.Clapper.data.gresource.xml b/data/com.github.rafostar.Clapper.data.gresource.xml
new file mode 100644
index 00000000..354d467e
--- /dev/null
+++ b/data/com.github.rafostar.Clapper.data.gresource.xml
@@ -0,0 +1,9 @@
+
+
+
+ icons/play-symbolic.svg
+ icons/pause-symbolic.svg
+ icons/pip-in-symbolic.svg
+ icons/pip-out-symbolic.svg
+
+
diff --git a/data/icons/pause-symbolic.svg b/data/icons/pause-symbolic.svg
new file mode 100644
index 00000000..f2804257
--- /dev/null
+++ b/data/icons/pause-symbolic.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/data/icons/pip-in-symbolic.svg b/data/icons/pip-in-symbolic.svg
new file mode 100644
index 00000000..c3d488ad
--- /dev/null
+++ b/data/icons/pip-in-symbolic.svg
@@ -0,0 +1,112 @@
+
+
diff --git a/data/icons/pip-out-symbolic.svg b/data/icons/pip-out-symbolic.svg
new file mode 100644
index 00000000..6e9c10d0
--- /dev/null
+++ b/data/icons/pip-out-symbolic.svg
@@ -0,0 +1,112 @@
+
+
diff --git a/data/icons/play-symbolic.svg b/data/icons/play-symbolic.svg
new file mode 100644
index 00000000..c3499170
--- /dev/null
+++ b/data/icons/play-symbolic.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/data/meson.build b/data/meson.build
index 49e37d72..f897a2b9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -19,3 +19,9 @@ install_data('com.github.rafostar.Clapper.desktop',
install_data('com.github.rafostar.Clapper.metainfo.xml',
install_dir: join_paths(sharedir, 'metainfo')
)
+gnome.compile_resources('com.github.rafostar.Clapper.data',
+ 'com.github.rafostar.Clapper.data.gresource.xml',
+ gresource_bundle: true,
+ install: true,
+ install_dir: pkgdatadir,
+)
diff --git a/lib/gst/clapper/meson.build b/lib/gst/clapper/meson.build
index ed4e4efe..b54d0e99 100644
--- a/lib/gst/clapper/meson.build
+++ b/lib/gst/clapper/meson.build
@@ -1,5 +1,3 @@
-gnome = import('gnome')
-
gstclapper_sources = [
'gstclapper.c',
'gstclapper-signal-dispatcher.c',
diff --git a/meson.build b/meson.build
index 5e706f90..3cb10da6 100644
--- a/meson.build
+++ b/meson.build
@@ -8,10 +8,13 @@ project('com.github.rafostar.Clapper', 'c', 'cpp',
]
)
+gnome = import('gnome')
i18n = import('i18n')
python = import('python')
python_bin = python.find_installation('python3')
+pkgdatadir = join_paths(get_option('datadir'), meson.project_name())
+
if not python_bin.found()
error('No valid python3 binary found')
endif
diff --git a/src/app.js b/src/app.js
index 9ce377da..e888cc83 100644
--- a/src/app.js
+++ b/src/app.js
@@ -43,22 +43,6 @@ class ClapperApp extends AppBase
this._openFilesAsync(files).then(() => this.activate()).catch(debug);
}
- _onIconThemeChanged(gtkSettings)
- {
- super._onIconThemeChanged(gtkSettings);
-
- const display = Gdk.Display.get_default();
- if(!display) return;
-
- const iconTheme = Gtk.IconTheme.get_for_display(display);
- if(!iconTheme) return;
-
- const { headerBar } = this.active_window.child.revealerTop;
- if(!headerBar) return;
-
- headerBar._onIconThemeChanged(iconTheme);
- }
-
_onWindowMap(window)
{
window.disconnect(this.mapSignal);
diff --git a/src/appBase.js b/src/appBase.js
index d24cc263..0a40d6c9 100644
--- a/src/appBase.js
+++ b/src/appBase.js
@@ -31,6 +31,10 @@ class ClapperAppBase extends Gtk.Application
title: Misc.appName,
});
+ /* FIXME: AFAIK there is no way to detect theme rounded corners.
+ * Having 2/4 corners rounded in floating mode is not good. */
+ window.add_css_class('adwrounded');
+
if(!settings.get_boolean('render-shadows'))
window.add_css_class('gpufriendly');
@@ -99,37 +103,6 @@ class ClapperAppBase extends Gtk.Application
'gtk-application-prefer-dark-theme',
Gio.SettingsBindFlags.GET
);
- this._onThemeChanged(gtkSettings);
- this._onIconThemeChanged(gtkSettings);
- gtkSettings.connect('notify::gtk-theme-name', this._onThemeChanged.bind(this));
- gtkSettings.connect('notify::gtk-icon-theme-name', this._onIconThemeChanged.bind(this));
this.doneFirstActivate = true;
}
-
- _onThemeChanged(gtkSettings)
- {
- const theme = gtkSettings.gtk_theme_name;
- const window = this.active_window;
-
- debug(`user selected theme: ${theme}`);
-
- /* FIXME: AFAIK there is no way to detect theme rounded corners.
- Having 2/4 corners rounded in floating mode is not good. */
- if(!window.has_css_class('adwrounded'))
- window.add_css_class('adwrounded');
- }
-
- _onIconThemeChanged(gtkSettings)
- {
- const iconThemeName = gtkSettings.gtk_icon_theme_name;
- const window = this.active_window;
- const hasAdwIcons = window.has_css_class('adwicons');
-
- if(iconThemeName === 'Adwaita' || iconThemeName === 'Default') {
- if(!hasAdwIcons)
- window.add_css_class('adwicons');
- }
- else if(hasAdwIcons)
- window.remove_css_class('adwicons');
- }
});
diff --git a/src/controls.js b/src/controls.js
index ca8d5880..82b0dfad 100644
--- a/src/controls.js
+++ b/src/controls.js
@@ -37,10 +37,9 @@ class ClapperControls extends Gtk.Box
this.chapterHideId = null;
this.togglePlayButton = new Buttons.IconToggleButton(
- 'media-playback-start-symbolic',
- 'media-playback-pause-symbolic'
+ 'play-symbolic',
+ 'pause-symbolic'
);
- this.togglePlayButton.child.add_css_class('playbackicon');
this.togglePlayButton.connect(
'clicked', this._onTogglePlayClicked.bind(this)
);
diff --git a/src/headerbar.js b/src/headerbar.js
index 497b13e9..d41a519f 100644
--- a/src/headerbar.js
+++ b/src/headerbar.js
@@ -28,12 +28,4 @@ class ClapperHeaderBar extends HeaderBarBase
{
this.root.fullscreen();
}
-
- _onIconThemeChanged(iconTheme)
- {
- super._onIconThemeChanged(iconTheme);
-
- const { controlsRevealer } = this.root.child;
- this._updateFloatIcon(!controlsRevealer.reveal_child);
- }
});
diff --git a/src/headerbarBase.js b/src/headerbarBase.js
index 63ce1e9c..46950070 100644
--- a/src/headerbarBase.js
+++ b/src/headerbarBase.js
@@ -23,7 +23,6 @@ class ClapperHeaderBarBase extends Gtk.Box
this.isMaximized = false;
this.isMenuOnLeft = true;
- this.hasPipIcons = false;
const uiBuilder = Misc.getBuilderForName('clapper.ui');
@@ -53,7 +52,7 @@ class ClapperHeaderBarBase extends Gtk.Box
this.extraButtonsBox.add_css_class('linked');
const floatButton = new Gtk.Button({
- icon_name: 'go-bottom-symbolic',
+ icon_name: 'pip-in-symbolic',
can_focus: false,
});
floatButton.add_css_class('osd');
@@ -221,9 +220,7 @@ class ClapperHeaderBarBase extends Gtk.Box
const floatButton = this.extraButtonsBox.get_first_child();
if(!floatButton) return;
- const iconName = (!this.hasPipIcons)
- ? 'go-bottom-symbolic'
- : (isFloating)
+ const iconName = (isFloating)
? 'pip-out-symbolic'
: 'pip-in-symbolic';
@@ -242,15 +239,6 @@ class ClapperHeaderBarBase extends Gtk.Box
_onFullscreenButtonClicked(button)
{
}
-
- _onIconThemeChanged(iconTheme)
- {
- /* Those icons are new, so check if theme has them */
- this.hasPipIcons = (
- iconTheme.has_icon('pip-in-symbolic')
- && iconTheme.has_icon('pip-out-symbolic')
- );
- }
});
var HeaderBarPopover = GObject.registerClass({
diff --git a/src/player.js b/src/player.js
index b2ff737e..be0aeae3 100644
--- a/src/player.js
+++ b/src/player.js
@@ -676,12 +676,6 @@ class ClapperPlayer extends GstClapper.Clapper
this.set_audio_video_offset(value);
debug(`set audio-video offset: ${value}`);
break;
- case 'dark-theme':
- root = this.widget.get_root();
- if(!root) break;
-
- root.application._onThemeChanged(Gtk.Settings.get_default());
- break;
case 'play-flags':
const initialFlags = this.pipeline.flags;
const settingsFlags = settings.get_int(key);
diff --git a/src/widgetRemote.js b/src/widgetRemote.js
index 1e6d75a8..06ea269f 100644
--- a/src/widgetRemote.js
+++ b/src/widgetRemote.js
@@ -23,11 +23,10 @@ class ClapperWidgetRemote extends Gtk.Grid
/* FIXME: create better way to add buttons for
* remote app without duplicating too much code */
this.togglePlayButton = new Buttons.IconToggleButton(
- 'media-playback-start-symbolic',
- 'media-playback-pause-symbolic'
+ 'play-symbolic',
+ 'pause-symbolic'
);
this.togglePlayButton.remove_css_class('flat');
- this.togglePlayButton.child.add_css_class('playbackicon');
this.togglePlayButton.connect(
'clicked', () => this.sendWs('toggle_play')
);