]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/MainView.js
quarantines: use a check mark for the dark mode filter
[pmg-gui.git] / js / MainView.js
index 9ebd065ab455d212d41aa64e3badf6da4f669b50..2cc140c1eceba870da226d25980638f8df322d2f 100644 (file)
@@ -17,9 +17,15 @@ Ext.define('PMG.MainView', {
            },
        },
 
-       beforeChangePath: function(path, subpath, action) {
+       beforeChangePath: function(path, subpathOrAction, action) {
            let me = this;
 
+           let subpath = subpathOrAction;
+           if (!action) {
+               action = subpathOrAction;
+               subpath = undefined;
+           }
+
            if (!Ext.ClassManager.getByAlias('widget.'+ path)) {
                console.warn('xtype "'+path+'" not found');
                action.stop();
@@ -147,7 +153,7 @@ Ext.define('PMG.MainView', {
 
            // select treeitem and load page from url fragment
            let token = Ext.util.History.getToken() || 'pmgDashboard';
-           this.redirectTo(token, true);
+           this.redirectTo(token, { force: true });
        },
     },
 
@@ -197,6 +203,19 @@ Ext.define('PMG.MainView', {
                    margin: '0 5 0 0',
                    iconCls: 'fa fa-user',
                    menu: [
+                       {
+                           iconCls: 'fa fa-gear',
+                           text: gettext('My Settings'),
+                           handler: () => Ext.create('PMG.window.Settings').show(),
+                       },
+                       {
+                           iconCls: 'fa fa-paint-brush',
+                           text: gettext('Theme'),
+                           handler: () => Ext.create('Proxmox.window.ThemeEditWindow', {
+                               cookieName: 'PMGThemeCookie',
+                               autoShow: true,
+                           }),
+                       },
                        {
                            iconCls: 'fa fa-language',
                            text: gettext('Language'),
@@ -221,21 +240,23 @@ Ext.define('PMG.MainView', {
                type: 'vbox',
                align: 'stretch',
            },
-           items: [{
-               xtype: 'navigationtree',
-               minWidth: 180,
-               reference: 'navtree',
-               // we have to define it here until extjs 6.2
-               // because of a bug where a viewcontroller does not detect
-               // the selectionchange event of a treelist
-               listeners: {
-                   selectionchange: 'navigate',
+           items: [
+               {
+                   xtype: 'navigationtree',
+                   minWidth: 180,
+                   reference: 'navtree',
+                   // we have to define it here until extjs 6.2 because of a bug where a
+                   // viewcontroller does not detect the selectionchange event of a treelist
+                   listeners: {
+                       selectionchange: 'navigate',
+                   },
+               },
+               {
+                   xtype: 'box',
+                   cls: 'x-treelist-pve-nav',
+                   flex: 1,
                },
-           }, {
-               xtype: 'box',
-               cls: 'x-treelist-pve-nav',
-               flex: 1,
-           }],
+           ],
        },
        {
            xtype: 'panel',