[sushi/wip/cosimoc/no-clutter: 48/50] Consistently use display name for window title



commit f1237d5387f04f006519d65406fccefd554b70c4
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Sun Jun 16 07:39:28 2019 -0700

    Consistently use display name for window title
    
    The audio player already shows the tag information in the window.
    It may be useful to show the filename as well, so avoid overwriting
    it with the artist and song title.

 src/ui/mainWindow.js | 24 +++++++++---------------
 src/viewers/audio.js | 16 +---------------
 2 files changed, 10 insertions(+), 30 deletions(-)
---
diff --git a/src/ui/mainWindow.js b/src/ui/mainWindow.js
index a6d6cd2..076a7dd 100644
--- a/src/ui/mainWindow.js
+++ b/src/ui/mainWindow.js
@@ -200,19 +200,15 @@ var MainWindow = GObject.registerClass(class MainWindow extends Gtk.Window {
         }
     }
 
-    _createRenderer(file) {
-        file.query_info_async(
+    _createRenderer() {
+        this.file.query_info_async(
             [Gio.FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME,
              Gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE].join(','),
             Gio.FileQueryInfoFlags.NONE, GLib.PRIORITY_DEFAULT, null,
             (obj, res) => {
                 try {
-                    this._fileInfo = obj.query_info_finish(res);
-                    this.setTitle(this._fileInfo.get_display_name());
-
-                    /* now prepare the real renderer */
-                    let klass = MimeHandler.getKlass(this._fileInfo.get_content_type());
-                    this._createView(file, klass);
+                    let fileInfo = obj.query_info_finish(res);
+                    this._createView(fileInfo);
                     this._createToolbar();
                 } catch(e) {
                     /* FIXME: report the error */
@@ -221,13 +217,14 @@ var MainWindow = GObject.registerClass(class MainWindow extends Gtk.Window {
             });
     }
 
-    _createView(file, klass) {
+    _createView(fileInfo) {
         if (this._renderer) {
             this._renderer.destroy()
             this._renderer = null;
         }
 
-        this._renderer = new klass(file, this);
+        let klass = MimeHandler.getKlass(fileInfo.get_content_type());
+        this._renderer = new klass(this.file);
         this._renderer.show_all();
         this._renderer.expand = true;
         this._embed.add(this._renderer);
@@ -237,6 +234,7 @@ var MainWindow = GObject.registerClass(class MainWindow extends Gtk.Window {
         this._onRendererReady();
 
         this.set_resizable(this._renderer.resizable);
+        this.set_title(fileInfo.get_display_name());
     }
 
     /**************************************************************************
@@ -345,10 +343,6 @@ var MainWindow = GObject.registerClass(class MainWindow extends Gtk.Window {
     setFile(file) {
         this.file = file;
         this._updateTitlebar();
-        this._createRenderer(file);
-    }
-
-    setTitle(label) {
-        this.set_title(label);
+        this._createRenderer();
     }
 });
diff --git a/src/viewers/audio.js b/src/viewers/audio.js
index 6d914df..68582f9 100644
--- a/src/viewers/audio.js
+++ b/src/viewers/audio.js
@@ -58,13 +58,10 @@ var Klass = GObject.registerClass({
                                          false)
     },
 }, class AudioRenderer extends Gtk.Box {
-    _init(file, mainWindow) {
+    _init(file) {
         super._init({ orientation: Gtk.Orientation.HORIZONTAL,
                       spacing: 6 });
 
-        this._mainWindow = mainWindow;
-        this._file = file;
-
         this._createPlayer(file);
 
         this._image = new Gtk.Image({ icon_name: 'media-optical-symbolic',
@@ -156,12 +153,10 @@ var Klass = GObject.registerClass({
         let albumName = tags.get_string('album')[1];
         let artistName = tags.get_string('artist')[1];
         let titleName = tags.get_string('title')[1];
-        let haveTitleTag = true;
 
         if (!titleName) {
             let file = Gio.file_new_for_uri(this._player.uri);
             titleName = file.get_basename();
-            haveTitleTag = false;
         }
 
         if (albumName)
@@ -171,15 +166,6 @@ var Klass = GObject.registerClass({
 
         this._titleLabel.set_markup('<b>' + titleName + '</b>');
 
-        let windowTitle = '';
-
-        if (artistName && haveTitleTag)
-            windowTitle = artistName + ' - ' + titleName;
-        else
-            windowTitle = titleName;
-
-        this._mainWindow.setTitle(windowTitle);
-
         this._artFetcher = new Sushi.CoverArtFetcher();
         this._artFetcher.connect('notify::cover', this._onCoverArtChanged.bind(this));
         this._artFetcher.taglist = tags;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]