Made a slight change to window position randomization; now only non-modal windows...
[philo.git] / contrib / gilbert / media / gilbert / lib / app.js
index 2c3f59c..b21455d 100644 (file)
@@ -204,21 +204,25 @@ Gilbert.lib.app.Application = Ext.extend(Ext.util.Observable, {
                });
                Gilbert.api.plugins.auth.get_preference('gilbert.theme', function (theme) {
                        if (theme) {
-                               var link_element = document.getElementById('gilbert.theme.' + theme);
-                               if (link_element) {
-                                       Ext.each(document.getElementsByClassName('gilbert.theme'), function (theme_element) {
-                                               if (theme_element != link_element) {
-                                                       theme_element.disabled = true;
-                                               } else {
-                                                       theme_element.disabled = false;
-                                               }
-                                       });
-                               }
+                               outer._set_theme(theme);
                        }
                        outer.init();
                });
        },
        
+       _set_theme: function(theme) {
+               var link_element = document.getElementById('gilbert.theme.' + theme);
+               if (link_element) {
+                       Ext.each(document.getElementsByClassName('gilbert.theme'), function (theme_element) {
+                               if (theme_element != link_element) {
+                                       theme_element.disabled = true;
+                               } else {
+                                       theme_element.disabled = false;
+                               }
+                       });
+               }
+       },
+       
        init: function () {
                Ext.QuickTips.init();
                
@@ -288,6 +292,7 @@ Gilbert.lib.app.Application = Ext.extend(Ext.util.Observable, {
                        minimizable: true,
                        constrainHeader: true,
                }));
+               
                win.render(this.desktop.el);
                if (win.modal) {
                        win.on('show', function () {
@@ -305,6 +310,8 @@ Gilbert.lib.app.Application = Ext.extend(Ext.util.Observable, {
                                this.mainmenu.show();
                                this.do_layout();
                        }, this);
+               } else {
+                       win.setPosition(Math.floor(Math.random() * ((this.desktop.getInnerWidth() - win.width) - 1)), Math.floor(Math.random() * ((this.desktop.getInnerHeight() - win.height) - 1)));
                }
                this.taskbar.register_window(win);
                this.fireEvent('window_created', win);