diff options
Diffstat (limited to 'playerwindow.cpp')
-rwxr-xr-x | playerwindow.cpp | 35 |
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); |