]> gitweb.fperrin.net Git - GpsPrune.git/commitdiff
Set main window title github/not-ready-for-upstreaming origin/not-ready-for-upstreaming
authorFrédéric Perrin <fred@fperrin.net>
Mon, 31 Dec 2018 15:45:45 +0000 (15:45 +0000)
committerFrédéric Perrin <fred@fperrin.net>
Sat, 30 Nov 2019 11:28:13 +0000 (11:28 +0000)
src/tim/prune/App.java
src/tim/prune/data/FileInfo.java
src/tim/prune/gui/SelectorDisplay.java

index 3a778588ab815a7f30c4b396e4de9d2c266836da..247a1332fc6f931c0836ab0e6fdfc36a563cec07 100644 (file)
@@ -51,6 +51,7 @@ public class App
 {
        // Instance variables
        private JFrame _frame = null;
+       private String _titlePrefix = null;
        private Track _track = null;
        private TrackInfo _trackInfo = null;
        private int _lastSavePosition = 0;
@@ -79,6 +80,7 @@ public class App
        public App(JFrame inFrame)
        {
                _frame = inFrame;
+               _titlePrefix = _frame.getTitle();
                _undoStack = new UndoStack();
                _track = new Track();
                _trackInfo = new TrackInfo(_track);
@@ -759,6 +761,8 @@ public class App
                        + " '" + inSourceInfo.getName() + "'");
                // update menu
                _menuManager.informFileLoaded();
+               // update main window title
+               updateTitle();
                // Remove busy lock
                _busyLoading = false;
                // load next file if there's a queue
@@ -1001,4 +1005,16 @@ public class App
        public void setCurrentMode(AppMode inMode) {
                _appMode = inMode;
        }
+
+       /** Update main window title **/
+       public void updateTitle() {
+               ArrayList<String> filenames = _trackInfo.getFileInfo().getFilenames();
+               if (filenames.size() > 0) {
+                       _frame.setTitle(_titlePrefix + ": " + String.join(", ", filenames));
+               }
+               else
+               {
+                       _frame.setTitle(_titlePrefix);
+               }
+       }
 }
index 41900cb8736df60d668238306079256bf2dca175..7eaac8f307d1bcde51f68a3bf662cd6879adeab2 100644 (file)
@@ -74,6 +74,19 @@ public class FileInfo
                return "";
        }
 
+       /**
+        * @return The source names
+        */
+       public ArrayList<String> getFilenames()
+       {
+               ArrayList<String> filenames = new ArrayList<String>();
+               for (SourceInfo source : _sources)
+               {
+                       filenames.add(source.getName());
+               }
+               return filenames;
+       }
+
        /**
         * @param inIndex index number, starting from zero
         * @return source info object
index fa6630dc5b71400bd4f7202fb688f9a911cc3f6f..9dfc24f42394ad624d925589a2acd344411c12a0 100644 (file)
@@ -228,8 +228,9 @@ public class SelectorDisplay extends GenericDisplay
                        else if (numFiles > 1)
                        {
                                final String labelText = I18nManager.getText("details.track.numfiles") + ": " + numFiles;
+                               final String filenameString = String.join(", ", _trackInfo.getFileInfo().getFilenames());
                                _filenameLabel.setText(labelText);
-                               _filenameLabel.setToolTipText(labelText);
+                               _filenameLabel.setToolTipText(filenameString);
                        }
                        else
                        {