Move revealers access away from base classes

Those should not appear in base classes, as they are available in main app only
This commit is contained in:
Rafał Dzięgiel
2021-09-06 15:27:37 +02:00
parent 873e724bf2
commit 8733610a9b
4 changed files with 27 additions and 19 deletions

View File

@@ -1,4 +1,4 @@
const { Gio, GObject, Gtk } = imports.gi; const { Gio, GObject, Gdk, Gtk } = imports.gi;
const { AppBase } = imports.src.appBase; const { AppBase } = imports.src.appBase;
const { Widget } = imports.src.widget; const { Widget } = imports.src.widget;
const Debug = imports.src.debug; const Debug = imports.src.debug;
@@ -43,6 +43,22 @@ class ClapperApp extends AppBase
this._openFilesAsync(files).then(() => this.activate()).catch(debug); 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) _onWindowMap(window)
{ {
window.disconnect(this.mapSignal); window.disconnect(this.mapSignal);

View File

@@ -1,4 +1,4 @@
const { Gio, GLib, GObject, Gdk, Gtk } = imports.gi; const { Gio, GLib, GObject, Gtk } = imports.gi;
const Debug = imports.src.debug; const Debug = imports.src.debug;
const FileOps = imports.src.fileOps; const FileOps = imports.src.fileOps;
const Misc = imports.src.misc; const Misc = imports.src.misc;
@@ -131,16 +131,5 @@ class ClapperAppBase extends Gtk.Application
} }
else if(hasAdwIcons) else if(hasAdwIcons)
window.remove_css_class('adwicons'); window.remove_css_class('adwicons');
const display = Gdk.Display.get_default();
if(!display) return;
const iconTheme = Gtk.IconTheme.get_for_display(display);
if(!iconTheme) return;
const { headerBar } = window.child.revealerTop;
if(!headerBar) return;
headerBar._onIconThemeChanged(iconTheme);
} }
}); });

View File

@@ -28,4 +28,12 @@ class ClapperHeaderBar extends HeaderBarBase
{ {
this.root.fullscreen(); this.root.fullscreen();
} }
_onIconThemeChanged(iconTheme)
{
super._onIconThemeChanged(iconTheme);
const { controlsRevealer } = this.root.child;
this._updateFloatIcon(!controlsRevealer.reveal_child);
}
}); });

View File

@@ -245,16 +245,11 @@ class ClapperHeaderBarBase extends Gtk.Box
_onIconThemeChanged(iconTheme) _onIconThemeChanged(iconTheme)
{ {
/* Those icons are relatively new, /* Those icons are new, so check if theme has them */
* so check if theme has them */
this.hasPipIcons = ( this.hasPipIcons = (
iconTheme.has_icon('pip-in-symbolic') iconTheme.has_icon('pip-in-symbolic')
&& iconTheme.has_icon('pip-out-symbolic') && iconTheme.has_icon('pip-out-symbolic')
); );
const { controlsRevealer } = this.root.child;
this._updateFloatIcon(!controlsRevealer.reveal_child);
} }
}); });