Bug 115460 - opening and closing right pane with tag filter also changes width of left pane and vv
Summary: opening and closing right pane with tag filter also changes width of left pan...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Usability-Ergonomy (show other bugs)
Version: 0.8.0
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-01 09:30 UTC by Wilbert Berendsen
Modified: 2017-08-05 20:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 0.9.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wilbert Berendsen 2005-11-01 09:30:33 UTC
Version:           0.8.0-beta2 (using KDE 3.4.92 (beta2, >= 20051010), Gentoo)
Compiler:          gcc version 3.3.5-20050130 (Gentoo Linux 3.3.5.20050130-r1, ssp-3.3.5.20050130-1, pie-8.7.7.1)
OS:                Linux (i686) release 2.6.11-gentoo-r1

I have my digiKam configured to show the previews at their biggest size, in three columns. With the right panel (Tag Filters) closed and the left panel opened at the right size, so the three columns of thumbnails exactly fit in the middle of the screen.

Now, when I incidentally open the right pane, the middle view is shrinked to make space for the right pane. So the middle view changes to two column. But the left pane also changes size (whish is completely unnessecary, as the middle column now has two columns of thumbnails and a big empty space).

When I close the right pane again, the left pane becomes a bit wider than it originally was, so the thumbnails view remains in two columns.

The same applies the other way around: the width of the right pane changes while opening/closing the left pane.

I think opening/closing one pane should not interfere at all with the other pane.
Comment 1 Wilbert Berendsen 2005-11-01 09:32:10 UTC
s/shrinked/shrunk/ :-)
Comment 2 caulier.gilles 2006-03-31 16:04:24 UTC
SVN commit 524901 by cgilles:

digikam from trunk : Bug fix : set properlly main widget size before to apply sidebar size using QSizePolicy. Thi scommit fix all windows (editor, image plugins, showfoto, etc.) exepted main interface (still todo).

CCMAIL: digikam-devel@kde.org
CCBUGS: 115460

 M  +4 -1      libs/dialogs/imagedlgbase.cpp  
 M  +6 -5      libs/dialogs/imageguidedlg.cpp  
 M  +4 -3      libs/widgets/imageplugins/imagepannelwidget.cpp  
 M  +9 -1      showfoto/showfoto.cpp  
 M  +1 -1      utilities/cameragui/cameraiconview.cpp  
 M  +7 -3      utilities/cameragui/cameraui.cpp  
 M  +7 -4      utilities/imageeditor/editor/imagewindow.cpp  


--- trunk/extragear/graphics/digikam/libs/dialogs/imagedlgbase.cpp #524900:524901
@@ -131,8 +131,11 @@
 
     d->hbox     = new QHBox(plainPage());
     d->splitter = new QSplitter(d->hbox);
+    d->splitter->setFrameStyle( QFrame::NoFrame );
+    d->splitter->setFrameShadow( QFrame::Plain );
+    d->splitter->setFrameShape( QFrame::NoFrame );    
+    d->splitter->setOpaqueResize(false);
     
-    d->splitter->setOpaqueResize(false);
     d->mainLayout->addMultiCellWidget(d->hbox, 1, 2, 0, 1);
     d->mainLayout->setColStretch(0, 10);
     d->mainLayout->setRowStretch(2, 10);
--- trunk/extragear/graphics/digikam/libs/dialogs/imageguidedlg.cpp #524900:524901
@@ -175,13 +175,14 @@
 
     d->hbox              = new QHBox(plainPage());
     d->splitter          = new QSplitter(d->hbox);
-    m_imagePreviewWidget = new ImageWidget(d->splitter, desc, prevModeOptions, 
-                                           guideMode, guideVisible);
+    m_imagePreviewWidget = new ImageWidget(d->splitter, desc, prevModeOptions, guideMode, guideVisible);
     
+    d->splitter->setFrameStyle( QFrame::NoFrame );
+    d->splitter->setFrameShadow( QFrame::Plain );
+    d->splitter->setFrameShape( QFrame::NoFrame );    
     d->splitter->setOpaqueResize(false);
-    QSizePolicy rightSzPolicy(QSizePolicy::Preferred,
-                              QSizePolicy::Expanding,
-                              2, 1);
+    
+    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
     m_imagePreviewWidget->setSizePolicy(rightSzPolicy);
 
     QString sbName(d->name + QString(" Image Plugin Sidebar"));
--- trunk/extragear/graphics/digikam/libs/widgets/imageplugins/imagepannelwidget.cpp #524900:524901
@@ -116,6 +116,9 @@
     d->previewWidget   = new QWidget(d->splitter);
     d->mainLayout      = new QGridLayout( d->previewWidget, 2, 2, 0, KDialog::spacingHint());
     
+    d->splitter->setFrameStyle( QFrame::NoFrame );
+    d->splitter->setFrameShadow( QFrame::Plain );
+    d->splitter->setFrameShape( QFrame::NoFrame );    
     d->splitter->setOpaqueResize(false);
 
     // -------------------------------------------------------------
@@ -131,9 +134,7 @@
                                                 "image to change the clip focus."));
     l1->addWidget(d->imageRegionWidget, 0);
 
-    QSizePolicy rightSzPolicy(QSizePolicy::Preferred,
-                              QSizePolicy::Expanding,
-                              2, 1);
+    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
     d->previewWidget->setSizePolicy(rightSzPolicy);
 
     // -------------------------------------------------------------
--- trunk/extragear/graphics/digikam/showfoto/showfoto.cpp #524900:524901
@@ -247,12 +247,15 @@
     config->setGroup("ImageViewer Settings");
 
     QWidget* widget = new QWidget(this);
-
+    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
+    
     if(!config->readBoolEntry("HorizontalThumbbar", false)) // Vertical thumbbar layout
     {
         QHBoxLayout *hlay = new QHBoxLayout(widget);
         m_splitter        = new QSplitter(widget);
         m_canvas          = new Digikam::Canvas(m_splitter);
+        m_canvas->setSizePolicy(rightSzPolicy);
+        
         m_rightSidebar    = new Digikam::ImagePropertiesSideBar(widget, "ShowFoto Sidebar Right", m_splitter, 
                                                                 Digikam::Sidebar::Right);
         m_bar             = new Digikam::ThumbBarView(widget, Digikam::ThumbBarView::Vertical);
@@ -267,6 +270,8 @@
         QWidget* widget2  = new QWidget(m_splitter);
         QVBoxLayout *vlay = new QVBoxLayout(widget2);
         m_canvas          = new Digikam::Canvas(widget2);
+        m_canvas->setSizePolicy(rightSzPolicy);
+
         m_bar             = new Digikam::ThumbBarView(widget2, Digikam::ThumbBarView::Horizontal);
 
         vlay->addWidget(m_canvas);
@@ -280,6 +285,9 @@
         hlay->addWidget(m_rightSidebar);        
     }        
 
+    m_splitter->setFrameStyle( QFrame::NoFrame );
+    m_splitter->setFrameShadow( QFrame::Plain );
+    m_splitter->setFrameShape( QFrame::NoFrame );
     m_splitter->setOpaqueResize(false);
     setCentralWidget(widget);
     m_rightSidebar->loadViewState();    
--- trunk/extragear/graphics/digikam/utilities/cameragui/cameraiconview.cpp #524900:524901
@@ -55,7 +55,7 @@
                 m_groupItem(new IconGroupItem(this))
 {
     setHScrollBarMode(QScrollView::AlwaysOff);
-    setMinimumSize(300, 300);
+    setMinimumSize(450, 400);
 
     CameraIconViewItem::m_newEmblem = new QPixmap(CameraIconViewItem::new_xpm);
     
--- trunk/extragear/graphics/digikam/utilities/cameragui/cameraui.cpp #524900:524901
@@ -160,8 +160,15 @@
     QHBox* widget   = new QHBox(plainPage());
     d->splitter     = new QSplitter(widget);
     d->view         = new CameraIconView(this, d->splitter);
+    
+    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
+    d->view->setSizePolicy(rightSzPolicy);
+        
     d->rightSidebar = new ImagePropertiesSideBarCamGui(widget, "CameraGui Sidebar Right", d->splitter,
                                                        Digikam::Sidebar::Right, true);
+    d->splitter->setFrameStyle( QFrame::NoFrame );
+    d->splitter->setFrameShadow( QFrame::Plain );
+    d->splitter->setFrameShape( QFrame::NoFrame );       
     d->splitter->setOpaqueResize(false);
     
     // -------------------------------------------------------------------------
@@ -354,9 +361,6 @@
     config->setGroup("Camera Settings");
     d->autoRotateCheck->setChecked(config->readBoolEntry("AutoRotate", true));
     d->autoAlbumCheck->setChecked(config->readBoolEntry("AutoAlbum", false));
-    
-    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
-    d->view->setSizePolicy(rightSzPolicy);
 
     if(config->hasKey("Splitter Sizes"))
         d->splitter->setSizes(config->readIntListEntry("Splitter Sizes"));
--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/imagewindow.cpp #524900:524901
@@ -194,15 +194,18 @@
     
     m_splitter       = new QSplitter(widget);
     m_canvas         = new Canvas(m_splitter);
+    
+    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
+    m_canvas->setSizePolicy(rightSzPolicy);
+        
     m_rightSidebar   = new ImagePropertiesSideBarDB(widget, "ImageEditor Right Sidebar", m_splitter,
                                                     Sidebar::Right, true, false);
+    lay->addWidget(m_splitter);
+    lay->addWidget(m_rightSidebar);
+    
     m_splitter->setFrameStyle( QFrame::NoFrame );
     m_splitter->setFrameShadow( QFrame::Plain );
     m_splitter->setFrameShape( QFrame::NoFrame );
-
-    lay->addWidget(m_splitter);
-    lay->addWidget(m_rightSidebar);
-    
     m_splitter->setOpaqueResize(false);
     setCentralWidget(widget);
 }
Comment 3 caulier.gilles 2006-03-31 16:12:57 UTC
SVN commit 524908 by cgilles:

digikam from trunk : Bug fix : set properlly main widget size from main interface before to apply sidebar size using QSizePolicy.

CCMAIL: digikam-devel@kde.org
CCBUGS: 115460

 M  +6 -13     digikamview.cpp  


--- trunk/extragear/graphics/digikam/digikam/digikamview.cpp #524907:524908
@@ -72,14 +72,17 @@
 {
     mParent      = static_cast<DigikamApp *>(parent);
     mAlbumMan    = AlbumManager::instance();
-    mMainSidebar = new Digikam::Sidebar(this, "Digikam Left Sidebar", Digikam::Sidebar::Left);
+    mMainSidebar = new Sidebar(this, "Digikam Left Sidebar", Sidebar::Left);
     mSplitter    = new QSplitter(this);
     
     mMainSidebar->setSplitter(mSplitter);
     
     mIconView     = new AlbumIconView(mSplitter);
-    mRightSidebar = new Digikam::ImagePropertiesSideBarDB(this, "Digikam Right Sidebar", mSplitter, 
-                                                          Digikam::Sidebar::Right, true, true);
+    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
+    mIconView->setSizePolicy(rightSzPolicy);
+
+    mRightSidebar = new ImagePropertiesSideBarDB(this, "Digikam Right Sidebar", mSplitter, 
+                                                 Sidebar::Right, true, true);
     
     // To the left.
     mFolderView       = new AlbumFolderView(this);
@@ -181,22 +184,12 @@
 
 void DigikamView::loadViewState()
 {
-    QSizePolicy leftSzPolicy(QSizePolicy::Preferred,
-                             QSizePolicy::Expanding,
-                             1, 1);
-    QSizePolicy rightSzPolicy(QSizePolicy::Preferred,
-                              QSizePolicy::Expanding,
-                              2, 1);
     KConfig *config = kapp->config();
     config->setGroup("MainWindow");
     if(config->hasKey("SplitterSizes"))
     {
         mSplitter->setSizes(config->readIntListEntry("SplitterSizes"));
     }
-    else 
-    {
-        mIconView->setSizePolicy(rightSzPolicy);
-    }    
     
     mInitialAlbumID = config->readNumEntry("InitialAlbumID", 0);
 }
Comment 4 caulier.gilles 2006-03-31 16:13:21 UTC
Fixed. I close this file.

Gilles Caulier
Comment 5 caulier.gilles 2006-03-31 21:20:37 UTC
SVN commit 525080 by cgilles:

digikam from stable : fix sidebar sizes and splitter border attributes from main interface.

CCBUGS: 115460


 M  +20 -26    digikamview.cpp  


--- branches/stable/extragear/graphics/digikam/digikam/digikamview.cpp #525079:525080
@@ -68,26 +68,30 @@
 DigikamView::DigikamView(QWidget *parent)
     : QHBox(parent)
 {
-    mParent = static_cast<DigikamApp *>(parent);
+    mParent      = static_cast<DigikamApp *>(parent);
+    mAlbumMan    = AlbumManager::instance();
+    mMainSidebar = new Digikam::Sidebar(this, Digikam::Sidebar::Left);
 
-    mAlbumMan = AlbumManager::instance();
+    mSplitter    = new QSplitter(this);
+    msplitter->setFrameStyle( QFrame::NoFrame );
+    msplitter->setFrameShadow( QFrame::Plain );
+    msplitter->setFrameShape( QFrame::NoFrame );
+    mSplitter->setOpaqueResize(false);
 
-    mMainSidebar = new Digikam::Sidebar(this, Digikam::Sidebar::Left);
-    
-    mSplitter = new QSplitter(this);
-    
     mMainSidebar->setSplitter(mSplitter);
     
     mIconView = new AlbumIconView(mSplitter);
+    QSizePolicy rightSzPolicy(QSizePolicy::Preferred, QSizePolicy::Expanding, 2, 1);
+    mIconView->setSizePolicy(rightSzPolicy);
     
     mRightSidebar = new Digikam::Sidebar(this, Digikam::Sidebar::Right, true);
     mRightSidebar->setSplitter(mSplitter);    
     
-    mFolderView = new AlbumFolderView(this);
-    mDateFolderView = new DateFolderView(this);
-    mTagFolderView = new TagFolderView(this);
+    mFolderView       = new AlbumFolderView(this);
+    mDateFolderView   = new DateFolderView(this);
+    mTagFolderView    = new TagFolderView(this);
     mSearchFolderView = new SearchFolderView(this);
-    mTagFilterView = new TagFilterView(this);    
+    mTagFilterView    = new TagFilterView(this);    
     
     mMainSidebar->appendTab(mFolderView, SmallIcon("folder"), i18n("Albums"));    
     mMainSidebar->appendTab(mDateFolderView, SmallIcon("date"), i18n("Dates"));
@@ -124,10 +128,13 @@
 
     connect(mAlbumMan, SIGNAL(signalAlbumCurrentChanged(Album*)),
             this, SLOT(slot_albumSelected(Album*)));
+
     connect(mAlbumMan, SIGNAL(signalAlbumsCleared()),
             this, SLOT(slot_albumsCleared()));
+
     connect(mAlbumMan, SIGNAL(signalAlbumDeleted(Album*)),
             this, SLOT(slotAlbumDeleted(Album*)));
+
     connect(mAlbumMan, SIGNAL(signalAllAlbumsLoaded()),
             this, SLOT(slotAllAlbumsLoaded()));    
     
@@ -151,31 +158,18 @@
     // -- Sidebar Connections -------------------------------------
 
     connect(mMainSidebar, SIGNAL(signalChangedTab(QWidget*)),
-            SLOT(slotLeftSidebarChangedTab(QWidget*)));
-
+            this, SLOT(slotLeftSidebarChangedTab(QWidget*)));
 }
 
 void DigikamView::loadViewState()
 {
-    QSizePolicy leftSzPolicy(QSizePolicy::Preferred,
-                             QSizePolicy::Expanding,
-                             1, 1);
-    QSizePolicy rightSzPolicy(QSizePolicy::Preferred,
-                              QSizePolicy::Expanding,
-                              2, 1);
     KConfig *config = kapp->config();
     config->setGroup("MainWindow");
+
     if(config->hasKey("SplitterSizes"))
-    {
         mSplitter->setSizes(config->readIntListEntry("SplitterSizes"));
-    }
-    else 
-    {
-        mIconView->setSizePolicy(rightSzPolicy);
-    }    
     
-    mInitialAlbumID = config->readNumEntry("InitialAlbumID", 0);
-    
+    mInitialAlbumID = config->readNumEntry("InitialAlbumID", 0);    
 }
 
 void DigikamView::saveViewState()