From 05cda6b7f95dcecd832827f8c6c661f8db23e8de Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 14 Oct 2010 08:24:47 -0600 Subject: [PATCH 1/5] ... --- src/calibre/gui2/viewer/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index a1d3b9bea4..f0f29a67e6 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -731,8 +731,8 @@ def main(args=sys.argv): main.raise_() if opts.full_screen: main.action_full_screen.trigger() - with main: - return app.exec_() + with main: + return app.exec_() return 0 if __name__ == '__main__': From 5523da3dde513d82e6a1dbd1fd791d8671f6febe Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 14 Oct 2010 08:36:10 -0600 Subject: [PATCH 2/5] Auto expand when dropping onto Tag Browser. Only seems to work for Searches node and I dont have the time to figure out why --- src/calibre/gui2/tag_view.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index 36d78838d3..3505cc7344 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -84,6 +84,7 @@ class TagsView(QTreeView): # {{{ self.setAcceptDrops(True) self.setDragDropMode(self.DropOnly) self.setDropIndicatorShown(True) + self.setAutoExpandDelay(500) def set_database(self, db, tag_match, sort_by): self.hidden_categories = config['tag_browser_hidden_categories'] From f468fd5cf3a7feffbbb86f5363761d700591e0b4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 14 Oct 2010 09:08:42 -0600 Subject: [PATCH 3/5] Try using a table to layout category view --- resources/content_server/browse/browse.css | 15 +++++++-------- resources/content_server/browse/browse.js | 6 ++---- src/calibre/library/server/browse.py | 9 +++++---- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/resources/content_server/browse/browse.css b/resources/content_server/browse/browse.css index 824c1c5e09..7af4aeb5f4 100644 --- a/resources/content_server/browse/browse.css +++ b/resources/content_server/browse/browse.css @@ -206,30 +206,29 @@ h2.library_name { /* }}} */ /* Category {{{ */ -.category ul { - list-style-type: none; +.category table { margin: 0; padding: 0; + width: 100%; + border-collapse: collapse; } -.category li.category-item { - margin: 0.75em; +.category tr.category-item td { padding: 0.75em; text-align: center; cursor: pointer; } -.category li.category-item:hover { +.category tr.category-item:hover { background-color: #d6d3c9; - font-weight: bold; -moz-box-shadow: 5px 5px 5px #ccc; -webkit-box-shadow: 5px 5px 5px #ccc; box-shadow: 5px 5px 5px #ccc; } -.category li.category-item h4 { display: inline } -.category li.category-item span.href { display: none } +.category tr.category-item h4 { display: inline } +.category tr.category-item span.href { display: none } #groups span.load_href { display: none } diff --git a/resources/content_server/browse/browse.js b/resources/content_server/browse/browse.js index 692dd5e630..a841fb5e5d 100644 --- a/resources/content_server/browse/browse.js +++ b/resources/content_server/browse/browse.js @@ -92,10 +92,8 @@ function render_error(msg) { // Category feed {{{ function category() { - $(".category li").corner("15px"); - - $(".category li").click(function() { - var href = $(this).children("span.href").html(); + $(".category tr").click(function() { + var href = $(this).find("span.href").html(); window.location = href; }); diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index 28fa7b4772..4d860b2d0d 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -106,9 +106,10 @@ def render_rating(rating, container='span'): # {{{ def get_category_items(category, items, db, datatype): # {{{ def item(i): - templ = (u'
  • ' - '

    {0}  {1}

      {2}' - '{3}
  • ') + templ = (u'' + '

    {0}

    {1}' + '{2}' + '{3}') rating, rstring = render_rating(i.avg_rating) name = xml(i.name) if datatype == 'rating': @@ -125,7 +126,7 @@ def get_category_items(category, items, db, datatype): # {{{ xml(desc), xml(quote(href)), rstring) items = list(map(item, items)) - return '\n'.join(['
      '] + items + ['
    ']) + return '\n'.join([''] + items + ['
    ']) # }}} From dbcf47468bd88bed0938596f90ed95bfca4ab5ac Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 14 Oct 2010 09:38:52 -0600 Subject: [PATCH 4/5] More semantic table markup. --- resources/content_server/browse/browse.css | 25 +++++++++++++++------- resources/content_server/browse/browse.js | 4 +--- src/calibre/library/server/browse.py | 10 ++++----- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/resources/content_server/browse/browse.css b/resources/content_server/browse/browse.css index 7af4aeb5f4..0222aefdb4 100644 --- a/resources/content_server/browse/browse.css +++ b/resources/content_server/browse/browse.css @@ -206,29 +206,38 @@ h2.library_name { /* }}} */ /* Category {{{ */ -.category table { - margin: 0; - padding: 0; +.category > div.category-container { width: 100%; - border-collapse: collapse; + margin-top: 1ex; + margin-bottom: 1ex; + display: table; } -.category tr.category-item td { +.category div.category-item { + display: table-row; +} + +.category div.category-item > div { padding: 0.75em; text-align: center; cursor: pointer; + display: table-cell; } -.category tr.category-item:hover { +.category div.category-name { font-weight: bold } + +.category div.category-item:hover > div { background-color: #d6d3c9; -moz-box-shadow: 5px 5px 5px #ccc; -webkit-box-shadow: 5px 5px 5px #ccc; box-shadow: 5px 5px 5px #ccc; + border-radius: 15px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; } -.category tr.category-item h4 { display: inline } -.category tr.category-item span.href { display: none } +.category div.category-item span.href { display: none } #groups span.load_href { display: none } diff --git a/resources/content_server/browse/browse.js b/resources/content_server/browse/browse.js index a841fb5e5d..f3f278fc48 100644 --- a/resources/content_server/browse/browse.js +++ b/resources/content_server/browse/browse.js @@ -77,8 +77,6 @@ function init() { function toplevel() { $(".sort_select").hide(); - $(".toplevel li").corner("15px"); - $(".toplevel li").click(function() { var href = $(this).children("span").html(); window.location = href; @@ -92,7 +90,7 @@ function render_error(msg) { // Category feed {{{ function category() { - $(".category tr").click(function() { + $(".category .category-item").click(function() { var href = $(this).find("span.href").html(); window.location = href; }); diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index 4d860b2d0d..6a557e423a 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -106,10 +106,10 @@ def render_rating(rating, container='span'): # {{{ def get_category_items(category, items, db, datatype): # {{{ def item(i): - templ = (u'' - '

    {0}

    {1}' - '{2}' - '{3}') + templ = (u'
    ' + '
    {0}
    {1}
    ' + '
    {2}' + '{3}
    ') rating, rstring = render_rating(i.avg_rating) name = xml(i.name) if datatype == 'rating': @@ -126,7 +126,7 @@ def get_category_items(category, items, db, datatype): # {{{ xml(desc), xml(quote(href)), rstring) items = list(map(item, items)) - return '\n'.join([''] + items + ['
    ']) + return '\n'.join(['
    '] + items + ['
    ']) # }}} From 6f2742500d22445132dcdecb2f8663d538fd9029 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 14 Oct 2010 09:42:59 -0600 Subject: [PATCH 5/5] ... --- resources/content_server/browse/browse.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/content_server/browse/browse.css b/resources/content_server/browse/browse.css index 0222aefdb4..07cf22f1cc 100644 --- a/resources/content_server/browse/browse.css +++ b/resources/content_server/browse/browse.css @@ -190,6 +190,10 @@ h2.library_name { padding: 0.75em; text-align: center; cursor: pointer; + border-radius: 15px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + } .toplevel li:hover {