mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
further improvements to layouts and sizes for high DPI screens
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8554 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
7334e4d5de
commit
7d541318b3
@ -235,6 +235,9 @@ RSGraphWidget::RSGraphWidget(QWidget *parent)
|
|||||||
|
|
||||||
_y_scale = 1.0f ;
|
_y_scale = 1.0f ;
|
||||||
_timer->start(1000);
|
_timer->start(1000);
|
||||||
|
|
||||||
|
float FS = QFontMetricsF(font()).height();
|
||||||
|
setMinimumHeight(12*FS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RSGraphWidget::updateIfPossible()
|
void RSGraphWidget::updateIfPossible()
|
||||||
@ -320,6 +323,22 @@ void RSGraphWidget::paintEvent(QPaintEvent *)
|
|||||||
_painter->end();
|
_painter->end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSizeF RSGraphWidget::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
|
||||||
|
{
|
||||||
|
float FS = QFontMetricsF(font()).height();
|
||||||
|
float fact = FS/14.0 ;
|
||||||
|
|
||||||
|
switch(which)
|
||||||
|
{
|
||||||
|
defaut:
|
||||||
|
case Qt::MinimumSize:
|
||||||
|
case Qt::PreferredSize:
|
||||||
|
return QSizeF(70*FS,12*FS);
|
||||||
|
case Qt::MaximumSize:
|
||||||
|
return QSizeF(700*FS,120*FS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QColor RSGraphWidget::getColor(int i)
|
QColor RSGraphWidget::getColor(int i)
|
||||||
{
|
{
|
||||||
// shuffle the colors a little bit
|
// shuffle the colors a little bit
|
||||||
@ -598,7 +617,7 @@ void RSGraphWidget::paintLegend()
|
|||||||
|
|
||||||
QPen oldPen = _painter->pen();
|
QPen oldPen = _painter->pen();
|
||||||
_painter->setPen(QPen(getColor(i), Qt::SolidLine));
|
_painter->setPen(QPen(getColor(i), Qt::SolidLine));
|
||||||
_painter->drawLine(QPointF(SCALE_WIDTH*fact+10.0*fact, pos), QPointF(SCALE_WIDTH*fact+30.0*fact, pos));
|
_painter->drawLine(QPointF(SCALE_WIDTH*fact+10.0*fact, pos+FS/3), QPointF(SCALE_WIDTH*fact+30.0*fact, pos+FS/3));
|
||||||
_painter->setPen(oldPen);
|
_painter->setPen(oldPen);
|
||||||
|
|
||||||
_painter->setPen(SCALE_COLOR);
|
_painter->setPen(SCALE_COLOR);
|
||||||
|
@ -153,6 +153,8 @@ class RSGraphWidget: public QFrame
|
|||||||
/** Overloaded QWidget::paintEvent() */
|
/** Overloaded QWidget::paintEvent() */
|
||||||
void paintEvent(QPaintEvent *event);
|
void paintEvent(QPaintEvent *event);
|
||||||
|
|
||||||
|
virtual QSizeF sizeHint( Qt::SizeHint which, const QSizeF & constraint = QSizeF() ) const;
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void updateIfPossible() ;
|
void updateIfPossible() ;
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "retroshare/rspeers.h"
|
#include "retroshare/rspeers.h"
|
||||||
|
|
||||||
#include <QModelIndex>
|
#include <QModelIndex>
|
||||||
|
#include <QHeaderView>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
@ -166,12 +167,15 @@ void BWListDelegate::paint(QPainter * painter, const QStyleOptionViewItem & opti
|
|||||||
painter->restore();
|
painter->restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
QSize BWListDelegate::sizeHint(const QStyleOptionViewItem & option/*option*/, const QModelIndex & /*index*/) const
|
QSize BWListDelegate::sizeHint(const QStyleOptionViewItem & option/*option*/, const QModelIndex & index) const
|
||||||
{
|
{
|
||||||
float FS = QFontMetricsF(option.font).height();
|
float FS = QFontMetricsF(option.font).height();
|
||||||
float fact = FS/14.0 ;
|
float fact = FS/14.0 ;
|
||||||
|
|
||||||
return QSize(50*fact,17*fact);
|
float w = QFontMetricsF(option.font).width(index.data(Qt::DisplayRole).toString());
|
||||||
|
|
||||||
|
return QSize(w,FS*1.2);
|
||||||
|
//return QSize(50*fact,17*fact);
|
||||||
}
|
}
|
||||||
|
|
||||||
BwCtrlWindow::BwCtrlWindow(QWidget *parent)
|
BwCtrlWindow::BwCtrlWindow(QWidget *parent)
|
||||||
@ -187,7 +191,8 @@ BwCtrlWindow::BwCtrlWindow(QWidget *parent)
|
|||||||
|
|
||||||
/* Set header resize modes and initial section sizes Peer TreeView*/
|
/* Set header resize modes and initial section sizes Peer TreeView*/
|
||||||
QHeaderView * _header = bwTreeWidget->header () ;
|
QHeaderView * _header = bwTreeWidget->header () ;
|
||||||
_header->resizeSection ( COLUMN_RSNAME, 170*fact );
|
// _header->resizeSection ( COLUMN_RSNAME, 170*fact );
|
||||||
|
_header->setResizeMode(QHeaderView::ResizeToContents);
|
||||||
}
|
}
|
||||||
|
|
||||||
BwCtrlWindow::~BwCtrlWindow()
|
BwCtrlWindow::~BwCtrlWindow()
|
||||||
|
@ -90,12 +90,6 @@
|
|||||||
</property>
|
</property>
|
||||||
<widget class="OutQueueStatisticsWidget" name="_outqueue_stats_W" native="true"/>
|
<widget class="OutQueueStatisticsWidget" name="_outqueue_stats_W" native="true"/>
|
||||||
<widget class="BWGraph" name="frmGraph" native="true">
|
<widget class="BWGraph" name="frmGraph" native="true">
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>120</width>
|
|
||||||
<height>80</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
<enum>Qt::NoContextMenu</enum>
|
<enum>Qt::NoContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -75,6 +75,10 @@ void DhtWindow::updateDisplay()
|
|||||||
updateRelays();
|
updateRelays();
|
||||||
|
|
||||||
RsAutoUpdatePage::unlockAllEvents() ;
|
RsAutoUpdatePage::unlockAllEvents() ;
|
||||||
|
|
||||||
|
ui.peerTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
|
||||||
|
ui.dhtTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
|
||||||
|
ui.relayTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -115,7 +115,10 @@ QString GlobalRouterStatistics::getPeerName(const RsPeerId &peer_id)
|
|||||||
GlobalRouterStatisticsWidget::GlobalRouterStatisticsWidget(QWidget *parent)
|
GlobalRouterStatisticsWidget::GlobalRouterStatisticsWidget(QWidget *parent)
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
{
|
{
|
||||||
maxWidth = 400 ;
|
float size = QFontMetricsF(font()).height() ;
|
||||||
|
float fact = size/14.0 ;
|
||||||
|
|
||||||
|
maxWidth = 400*fact ;
|
||||||
maxHeight = 0 ;
|
maxHeight = 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,6 +130,9 @@ void GlobalRouterStatisticsWidget::updateContent()
|
|||||||
rsGRouter->getRoutingCacheInfo(cache_infos) ;
|
rsGRouter->getRoutingCacheInfo(cache_infos) ;
|
||||||
rsGRouter->getRoutingMatrixInfo(matrix_info) ;
|
rsGRouter->getRoutingMatrixInfo(matrix_info) ;
|
||||||
|
|
||||||
|
float size = QFontMetricsF(font()).height() ;
|
||||||
|
float fact = size/14.0 ;
|
||||||
|
|
||||||
// What do we need to draw?
|
// What do we need to draw?
|
||||||
//
|
//
|
||||||
// Routing matrix
|
// Routing matrix
|
||||||
@ -149,21 +155,21 @@ void GlobalRouterStatisticsWidget::updateContent()
|
|||||||
painter.initFrom(this);
|
painter.initFrom(this);
|
||||||
painter.setPen(QColor::fromRgb(0,0,0)) ;
|
painter.setPen(QColor::fromRgb(0,0,0)) ;
|
||||||
|
|
||||||
QFont times_f("Times") ;
|
QFont times_f(font());//"Times") ;
|
||||||
QFont monospace_f("Monospace") ;
|
QFont monospace_f(font());//"Monospace") ;
|
||||||
monospace_f.setStyleHint(QFont::TypeWriter) ;
|
monospace_f.setStyleHint(QFont::TypeWriter) ;
|
||||||
|
|
||||||
QFontMetrics fm_monospace(monospace_f) ;
|
QFontMetricsF fm_monospace(monospace_f) ;
|
||||||
QFontMetrics fm_times(times_f) ;
|
QFontMetricsF fm_times(times_f) ;
|
||||||
|
|
||||||
static const int cellx = fm_monospace.width(QString(" ")) ;
|
static const int cellx = fm_monospace.width(QString(" ")) ;
|
||||||
static const int celly = fm_monospace.height() ;
|
static const int celly = fm_monospace.height() ;
|
||||||
|
|
||||||
maxHeight = 500 ;
|
maxHeight = 500*fact ;
|
||||||
|
|
||||||
// std::cerr << "Drawing into pixmap of size " << maxWidth << "x" << maxHeight << std::endl;
|
// std::cerr << "Drawing into pixmap of size " << maxWidth << "x" << maxHeight << std::endl;
|
||||||
// draw...
|
// draw...
|
||||||
int ox=5,oy=5 ;
|
int ox=5*fact,oy=5*fact ;
|
||||||
|
|
||||||
|
|
||||||
painter.setFont(times_f) ;
|
painter.setFont(times_f) ;
|
||||||
@ -226,7 +232,7 @@ void GlobalRouterStatisticsWidget::updateContent()
|
|||||||
// now compute max column sizes
|
// now compute max column sizes
|
||||||
|
|
||||||
for(int j=0;j<nb_fields;++j)
|
for(int j=0;j<nb_fields;++j)
|
||||||
max_column_width[j] = std::max(max_column_width[j],fm_monospace.width(strings[j])) ;
|
max_column_width[j] = std::max(max_column_width[j],(int)(fm_monospace.boundingRect(strings[j]).width()+cellx+2*fact)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
// compute cumulated sizes
|
// compute cumulated sizes
|
||||||
@ -235,7 +241,7 @@ void GlobalRouterStatisticsWidget::updateContent()
|
|||||||
|
|
||||||
for(int i=1;i<=nb_fields;++i)
|
for(int i=1;i<=nb_fields;++i)
|
||||||
{
|
{
|
||||||
cumulated_sizes[i] = std::max(max_column_width[i-1],fm_monospace.width(fname[i-1])) ;
|
cumulated_sizes[i] = std::max(max_column_width[i-1],(int)(fm_monospace.boundingRect(fname[i-1]).width()+cellx+2*fact)) ;
|
||||||
cumulated_sizes[i] += cumulated_sizes[i-1] ;
|
cumulated_sizes[i] += cumulated_sizes[i-1] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +253,7 @@ void GlobalRouterStatisticsWidget::updateContent()
|
|||||||
painter.drawLine(ox,oy,ox+cumulated_sizes.back(),oy) ;
|
painter.drawLine(ox,oy,ox+cumulated_sizes.back(),oy) ;
|
||||||
|
|
||||||
int top_matrix_oy = oy ;
|
int top_matrix_oy = oy ;
|
||||||
oy += celly +2;
|
oy += celly +2*fact;
|
||||||
|
|
||||||
painter.drawLine(ox,oy,ox+cumulated_sizes.back(),oy) ;
|
painter.drawLine(ox,oy,ox+cumulated_sizes.back(),oy) ;
|
||||||
|
|
||||||
@ -259,7 +265,7 @@ void GlobalRouterStatisticsWidget::updateContent()
|
|||||||
oy += celly ;
|
oy += celly ;
|
||||||
}
|
}
|
||||||
|
|
||||||
oy += 2;
|
oy += 2*fact;
|
||||||
|
|
||||||
for(int i=0;i<=nb_fields;++i)
|
for(int i=0;i<=nb_fields;++i)
|
||||||
painter.drawLine(ox+cumulated_sizes[i],top_matrix_oy,ox+cumulated_sizes[i],oy) ;
|
painter.drawLine(ox+cumulated_sizes[i],top_matrix_oy,ox+cumulated_sizes[i],oy) ;
|
||||||
@ -275,19 +281,19 @@ void GlobalRouterStatisticsWidget::updateContent()
|
|||||||
|
|
||||||
// draw scale
|
// draw scale
|
||||||
|
|
||||||
for(int i=0;i<100;++i)
|
for(int i=0;i<100*fact;++i)
|
||||||
{
|
{
|
||||||
painter.setPen(colorScale(i/100.0)) ;
|
painter.setPen(colorScale(i/100.0/fact)) ;
|
||||||
painter.drawLine(fm_times.width(Q)+i,oy+celly+2,fm_times.width(Q)+i,oy+2) ;
|
painter.drawLine(ox+fm_times.width(Q)+i,oy+fm_times.height()*0.5,ox+fm_times.width(Q)+i,oy+fm_times.height()) ;
|
||||||
}
|
}
|
||||||
painter.setPen(QColor::fromRgb(0,0,0)) ;
|
painter.setPen(QColor::fromRgb(0,0,0)) ;
|
||||||
|
|
||||||
painter.drawText(ox+fm_times.width(Q) + 100,oy+celly,")") ;
|
painter.drawText(ox+fm_times.width(Q) + 102*fact,oy+celly,")") ;
|
||||||
|
|
||||||
oy += celly ;
|
oy += celly ;
|
||||||
oy += celly ;
|
oy += celly ;
|
||||||
|
|
||||||
static const int MaxKeySize = 20 ;
|
static const int MaxKeySize = 20*fact ;
|
||||||
painter.setFont(monospace_f) ;
|
painter.setFont(monospace_f) ;
|
||||||
|
|
||||||
for(std::map<GRouterKeyId,std::vector<float> >::const_iterator it(matrix_info.per_friend_probabilities.begin());it!=matrix_info.per_friend_probabilities.end();++it)
|
for(std::map<GRouterKeyId,std::vector<float> >::const_iterator it(matrix_info.per_friend_probabilities.begin());it!=matrix_info.per_friend_probabilities.end();++it)
|
||||||
|
@ -11,7 +11,10 @@
|
|||||||
OutQueueStatisticsWidget::OutQueueStatisticsWidget(QWidget *parent)
|
OutQueueStatisticsWidget::OutQueueStatisticsWidget(QWidget *parent)
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
{
|
{
|
||||||
maxWidth = 200 ;
|
float fontHeight = QFontMetricsF(font()).height();
|
||||||
|
float fact = fontHeight/14.0;
|
||||||
|
|
||||||
|
maxWidth = 200*fact ;
|
||||||
maxHeight = 0 ;
|
maxHeight = 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,6 +196,11 @@ TurtleRouterStatistics::TurtleRouterStatistics(QWidget *parent)
|
|||||||
_tunnel_statistics_F->setFocusPolicy(Qt::NoFocus);
|
_tunnel_statistics_F->setFocusPolicy(Qt::NoFocus);
|
||||||
|
|
||||||
routertabWidget->addTab(new TurtleRouterDialog(),QString(tr("Tunnel Requests")));
|
routertabWidget->addTab(new TurtleRouterDialog(),QString(tr("Tunnel Requests")));
|
||||||
|
|
||||||
|
|
||||||
|
float fontHeight = QFontMetricsF(font()).height();
|
||||||
|
float fact = fontHeight/14.0;
|
||||||
|
frmGraph->setMinimumHeight(200*fact);
|
||||||
|
|
||||||
// load settings
|
// load settings
|
||||||
processSettings(true);
|
processSettings(true);
|
||||||
|
Loading…
Reference in New Issue
Block a user