]> granicus.if.org Git - transmission/commitdiff
(trunk web) use the preference dialog's "compact" mode based on browser window size...
authorCharles Kerr <charles@transmissionbt.com>
Sun, 8 Aug 2010 20:58:58 +0000 (20:58 +0000)
committerCharles Kerr <charles@transmissionbt.com>
Sun, 8 Aug 2010 20:58:58 +0000 (20:58 +0000)
web/javascript/transmission.js

index c74aa8dd47b42812e887a93b082bbf43858d9269..ac93103a772f9bf7da3dec8d7cc65dd7c3485459 100644 (file)
@@ -892,36 +892,33 @@ Transmission.prototype =
         *
         *--------------------------------------------*/
 
-       showPrefsDialog: function( ) {
+       showPrefsDialog: function( )
+       {
                var tr = this;
-               $("#update_blocklist_button").button();
-               $("#prefs_tabs").tabs();
-               var args = { };
-               if( iPhone ) { // tailor the dialog geometry for iPhone
-                       $.extend( args, {
-                               width: 320,
-                               height: 360,
-                               resizable: false,
-                               draggable: false,
-                               position: [ 0, 0 ]
-                       } );
-               } else {
-                       $.extend( args, {
-                               width: 450,
-                               height: 400
-                       } );
-               }
-               $.extend( args, {
+
+               var preferredWidth = 450;
+               var preferredHeight = 400;
+               var windowWidth = $(window).width();
+               var windowHeight = $(window).height();
+               var fullscreen = (windowWidth<=preferredWidth) || (windowHeight<=preferredHeight);
+
+               var args = {
+                       close: function(event, ui) { tr.togglePeriodicSessionRefresh( true ); },
+                       width: fullscreen ? windowWidth : preferredWidth,
+                       height: fullscreen ? windowHeight : preferredHeight,
+                       resizable: !fullscreen,
+                       draggable: !fullscreen,
                         title: 'Preferences',
                         show: 'blind',
                         hide: 'blind',
-                        buttons: {
-                               'Close': function() {
-                                       $(this).dialog('close');
-                                       tr.togglePeriodicSessionRefresh( true );
-                               }
-                       }
-               } );
+                        buttons: { }
+               };
+
+               if( fullscreen )
+                       args.position = [ 0, 0 ];
+               else
+                       args.buttons = { 'Close': function() { $(this).dialog('close'); } };
+
                 $("#prefs_dialog" ).dialog( args );
                tr.togglePeriodicSessionRefresh( false );
        },
@@ -963,6 +960,9 @@ Transmission.prototype =
        {
                var tr = this;
 
+               $("#update_blocklist_button").button();
+               $("#prefs_tabs").tabs();
+
                $.each( this.prefsKeys, function( index, key ) {
                        $(':input#'+key).change( function( e ) {
                                var control = e.target;