aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2008-06-10 07:47:39 -0400
committerJason A. Donenfeld <Jason@zx2c4.com>2008-06-10 07:47:39 -0400
commitd4061e3d43794036295f4b2846e11b5fee1ed062 (patch)
tree467a32db985cf79cdd796e08d290e637bfe4400c
parentImproved column resizing. (diff)
downloadzmusicplayer-d4061e3d43794036295f4b2846e11b5fee1ed062.tar.xz
zmusicplayer-d4061e3d43794036295f4b2846e11b5fee1ed062.zip
Further refined column widths.
-rwxr-xr-xplayerwindow.cpp35
1 files changed, 19 insertions, 16 deletions
diff --git a/playerwindow.cpp b/playerwindow.cpp
index b20e52e..cdc9548 100755
--- a/playerwindow.cpp
+++ b/playerwindow.cpp
@@ -315,36 +315,39 @@ void PlayerWindow::rowChange()
double suggestedWidth1 = m_treeView->columnWidth(1);
double suggestedWidth2 = m_treeView->columnWidth(2);
double suggestedWidth3 = m_treeView->columnWidth(3);
- double suggestedWidthTotal = 25 + suggestedWidth1 + suggestedWidth2 + suggestedWidth3;
m_treeView->header()->setStretchLastSection(true);
+ double suggestedWidthTotal = 25 + suggestedWidth1 + suggestedWidth2 + suggestedWidth3;
+ m_suggestedRatio1 = (double)suggestedWidth1 / (double)suggestedWidthTotal;
+ m_suggestedRatio2 = (double)suggestedWidth2 / (double)suggestedWidthTotal;
+ m_suggestedRatio3 = (double)suggestedWidth3 / (double)suggestedWidthTotal;
bool b;
+ double diff;
do
{
- b = false;
- m_suggestedRatio1 = (double)suggestedWidth1 / (double)suggestedWidthTotal;
- m_suggestedRatio2 = (double)suggestedWidth2 / (double)suggestedWidthTotal;
- m_suggestedRatio3 = (double)suggestedWidth3 / (double)suggestedWidthTotal;
-
+ b = false;
if(m_suggestedRatio1 > .42)
{
- suggestedWidth1-=2;
- suggestedWidth2++;
- suggestedWidth3++;
+ diff = m_suggestedRatio1 - .42;
+ m_suggestedRatio1 = .42;
+ m_suggestedRatio2 += diff/2;
+ m_suggestedRatio3 += diff/2;
b = true;
}
if(m_suggestedRatio2 > .42)
{
- suggestedWidth2-=2;
- suggestedWidth1++;
- suggestedWidth3++;
+ diff = m_suggestedRatio2 - .42;
+ m_suggestedRatio2 = .42;
+ m_suggestedRatio1 += diff/2;
+ m_suggestedRatio3 += diff/2;
b = true;
}
if(m_suggestedRatio3 > .42)
{
- suggestedWidth3-=2;
- suggestedWidth2++;
- suggestedWidth1++;
+ diff = m_suggestedRatio3 - .42;
+ m_suggestedRatio3 = .42;
+ m_suggestedRatio2 += diff/2;
+ m_suggestedRatio1 += diff/2;
b = true;
}
} while(b);
@@ -354,7 +357,7 @@ void PlayerWindow::rowChange()
void PlayerWindow::fixColumnSizes()
{
m_treeView->setUpdatesEnabled(false);
- int width = m_treeView->width() - 40; //Why not 25?
+ int width = m_treeView->width() - 40; //Why not 0?
m_treeView->setColumnWidth(1, m_suggestedRatio1 * width);
m_treeView->setColumnWidth(2, m_suggestedRatio2 * width);
m_treeView->setColumnWidth(3, m_suggestedRatio3 * width);