Esempio n. 1
0
void ServerWidget::init_cvar_table()
{
    delegate_cvar.set_cvar = [this](const QString& name, const QString& value)
    {
        /// \todo Maybe option to choose set or seta
        rcon_command("set "+name+' '+value);
        auto cvar = model_cvar.cvar(name);
        cvar.value = value;
        model_cvar.set_cvar(cvar);
    };
    table_cvars->setModel(&proxy_cvar);
    table_cvars->setItemDelegate(&delegate_cvar);
    proxy_cvar.setSourceModel(&model_cvar);
    connect(&log_parser, &xonotic::LogParser::cvar,
            &model_cvar, &CvarModel::set_cvar);
    connect(&log_parser, &xonotic::LogParser::cvarlist_begin,
            &model_cvar, &CvarModel::block_updates);
    connect(&log_parser, &xonotic::LogParser::cvarlist_end,
            &model_cvar, &CvarModel::unblock_updates);
    auto header_view = table_cvars->horizontalHeader();
    header_view->setSectionResizeMode(CvarModel::Name, QHeaderView::ResizeToContents);
    header_view->setSectionResizeMode(CvarModel::Value, QHeaderView::Stretch);
    table_cvars->hideColumn(CvarModel::Default);
    table_cvars->hideColumn(CvarModel::Description);
    for ( int i = 0; i < model_cvar.columnCount(); i++ )
        input_cvar_filter_section->addItem(
            model_cvar.headerData(i,Qt::Horizontal).toString());
}
Esempio n. 2
0
void ServerWidget::init_player_table()
{
    table_players->setModel(&model_player);
    connect(&log_parser, &xonotic::LogParser::players_changed,
            &model_player, &PlayerModel::set_players,
            Qt::QueuedConnection);
    auto header_view = table_players->horizontalHeader();
    for ( int i = 0; i < model_player.columnCount(); i++)
        header_view->setSectionResizeMode(i, QHeaderView::ResizeToContents);
    header_view->setSectionResizeMode(PlayerModel::Name, QHeaderView::Stretch);
    connect(&model_player, &PlayerModel::players_changed,
            this, &ServerWidget::update_player_actions);

}
Esempio n. 3
0
ViewHeader::ViewHeader( QAbstractItemView* parent )
    : QHeaderView( Qt::Horizontal, parent )
    , m_parent( parent )
    , m_menu( new QMenu( this ) )
    , m_sigmap( new QSignalMapper( this ) )
    , m_init( false )
{
    m_menu->setFont( TomahawkUtils::systemFont() );

#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
    setSectionResizeMode( QHeaderView::Interactive );
    setSectionsMovable( true );
#else
    setResizeMode( QHeaderView::Interactive );
    setMovable( true );
#endif
    setMinimumSectionSize( 60 );
    setDefaultAlignment( Qt::AlignLeft );
    setStretchLastSection( true );

//    m_menu->addAction( tr( "Resize columns to fit window" ), this, SLOT( onToggleResizeColumns() ) );
//    m_menu->addSeparator();

    connect( m_sigmap, SIGNAL( mapped( int ) ), SLOT( toggleVisibility( int ) ) );
}
Esempio n. 4
0
void QxtHeaderView::setProportionalSectionSizes(bool enabled)
{
    if (qxt_d().proportional != enabled)
    {
        qxt_d().proportional = enabled;
        if (enabled)
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
            setResizeMode(QHeaderView::Fixed);
#else
            setSectionResizeMode(QHeaderView::Fixed);
#endif
    }
}
Esempio n. 5
0
QWidget *ItemTagsLoader::createSettingsWidget(QWidget *parent)
{
    ui.reset(new Ui::ItemTagsSettings);
    QWidget *w = new QWidget(parent);
    ui->setupUi(w);

    // Init tag table.
    for (const auto &tag : m_tags)
        addTagToSettingsTable(tag);
    for (int i = 0; i < 10; ++i)
        addTagToSettingsTable();

    auto header = ui->tableWidget->horizontalHeader();
    header->setSectionResizeMode(tagsTableColumns::name, QHeaderView::Stretch);
    header->setSectionResizeMode(tagsTableColumns::styleSheet, QHeaderView::Stretch);
    header->setSectionResizeMode(tagsTableColumns::match, QHeaderView::Stretch);
    setFixedColumnSize(ui->tableWidget, tagsTableColumns::color);
    setFixedColumnSize(ui->tableWidget, tagsTableColumns::icon);

    connect( ui->tableWidget, &QTableWidget::itemChanged,
             this, &ItemTagsLoader::onTableWidgetItemChanged );

    return w;
}
Esempio n. 6
0
EvalWidget::EvalWidget(QWidget *parent)
	: QWidget(parent),
	  m_player(nullptr),
	  m_statsTable(new QTableWidget(1, 5, this)),
	  m_pvTable(new QTableWidget(0, 5, this)),
	  m_depth(-1)
{
	m_statsTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
	auto hHeader = m_statsTable->horizontalHeader();
	auto vHeader = m_statsTable->verticalHeader();
	vHeader->hide();
	int maxHeight = hHeader->sizeHint().height() + vHeader->defaultSectionSize();
	m_statsTable->setMaximumHeight(maxHeight);

	QStringList statsHeaders;
	statsHeaders << tr("NPS") << tr("Hash")
		     << tr("Pondermove") << tr("Ponderhit") << tr("TB");
	m_statsTable->setHorizontalHeaderLabels(statsHeaders);
	hHeader->setSectionResizeMode(QHeaderView::Stretch);
	auto protoItem = new QTableWidgetItem;
	protoItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignRight);
	m_statsTable->setItemPrototype(protoItem);

	m_pvTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
	m_pvTable->verticalHeader()->hide();

	QStringList pvHeaders;
	pvHeaders << tr("Depth") << tr("Time") << tr("Nodes")
		  << tr("Score") << tr("PV");
	m_pvTable->setHorizontalHeaderLabels(pvHeaders);
	m_pvTable->setColumnWidth(0, 60);
	m_pvTable->setColumnWidth(1, 60);
	m_pvTable->setColumnWidth(2, 100);
	m_pvTable->setColumnWidth(3, 60);
	m_pvTable->horizontalHeader()->setStretchLastSection(true);

	QVBoxLayout* layout = new QVBoxLayout();
	layout->addWidget(m_statsTable);
	layout->addWidget(m_pvTable);
	layout->setContentsMargins(0, 0, 0, 0);
	setLayout(layout);
}
Esempio n. 7
0
ColorListWidget::ColorListWidget(Map* map, MainWindow* window, QWidget* parent)
: QWidget(parent)
, map(map)
, window(window)
{
	react_to_changes = true;
	
	setWhatsThis(Util::makeWhatThis("color_dock_widget.html"));
	
	// Color table
	color_table = new QTableWidget(map->getNumColors(), 7);
	color_table->setEditTriggers(QAbstractItemView::SelectedClicked | QAbstractItemView::AnyKeyPressed);
	color_table->setSelectionMode(QAbstractItemView::SingleSelection);
	color_table->setSelectionBehavior(QAbstractItemView::SelectRows);
	color_table->verticalHeader()->setVisible(false);
	color_table->setHorizontalHeaderLabels(QStringList() <<
	  QString{} << tr("Name") << tr("Spot color") << tr("CMYK") << tr("RGB") << tr("K.o.") << tr("Opacity") );
	color_table->setItemDelegateForColumn(0, new ColorItemDelegate(this));
	color_table->setItemDelegateForColumn(6, new PercentageDelegate(this));
	color_table->setColumnHidden(6, true);
	
	auto new_button_menu = new QMenu(this);
	(void) new_button_menu->addAction(tr("New"), this, SLOT(newColor()));
	duplicate_action = new_button_menu->addAction(tr("Duplicate"), this, SLOT(duplicateColor()));
	duplicate_action->setIcon(QIcon(QString::fromLatin1(":/images/tool-duplicate.png")));
	
	// Buttons
	auto new_button = newToolButton(QIcon(QString::fromLatin1(":/images/plus.png")), tr("New"));
	new_button->setPopupMode(QToolButton::DelayedPopup); // or MenuButtonPopup
	new_button->setMenu(new_button_menu);
	delete_button = newToolButton(QIcon(QString::fromLatin1(":/images/minus.png")), tr("Delete"));
	
	auto add_remove_layout = new SegmentedButtonLayout();
	add_remove_layout->addWidget(new_button);
	add_remove_layout->addWidget(delete_button);
	
	move_up_button = newToolButton(QIcon(QString::fromLatin1(":/images/arrow-up.png")), tr("Move Up"));
	move_up_button->setAutoRepeat(true);
	move_down_button = newToolButton(QIcon(QString::fromLatin1(":/images/arrow-down.png")), tr("Move Down"));
	move_down_button->setAutoRepeat(true);
	
	auto up_down_layout = new SegmentedButtonLayout();
	up_down_layout->addWidget(move_up_button);
	up_down_layout->addWidget(move_down_button);
	
	// TODO: In Mapper >= 0.6, switch to ColorWidget (or generic) translation context.
	edit_button = newToolButton(QIcon(QString::fromLatin1(":/images/settings.png")), QApplication::translate("OpenOrienteering::MapEditorController", "&Edit").remove(QLatin1Char('&')));
	edit_button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
	
	auto help_button = newToolButton(QIcon(QString::fromLatin1(":/images/help.png")), tr("Help"));
	help_button->setAutoRaise(true);
	
	// The buttons row layout
	auto buttons_group_layout = new QHBoxLayout();
	buttons_group_layout->addLayout(add_remove_layout);
	buttons_group_layout->addLayout(up_down_layout);
	buttons_group_layout->addWidget(edit_button);
	buttons_group_layout->addWidget(new QLabel(QString::fromLatin1("   ")), 1);
	buttons_group_layout->addWidget(help_button);
	
	// The layout of all components below the table
	auto bottom_layout = new QVBoxLayout();
	QStyleOption style_option(QStyleOption::Version, QStyleOption::SO_DockWidget);
	bottom_layout->setContentsMargins(
		style()->pixelMetric(QStyle::PM_LayoutLeftMargin, &style_option) / 2,
		0, // Covered by the main layout's spacing.
		style()->pixelMetric(QStyle::PM_LayoutRightMargin, &style_option) / 2,
		style()->pixelMetric(QStyle::PM_LayoutBottomMargin, &style_option) / 2
	);
	bottom_layout->addLayout(buttons_group_layout);
	bottom_layout->addWidget(new QLabel(tr("Double-click a color value to open a dialog.")));
	
	// The main layout
	auto layout = new QVBoxLayout();
	layout->setContentsMargins(QMargins());
	layout->addWidget(color_table, 1);
	layout->addLayout(bottom_layout);
	setLayout(layout);
	
	for (int i = 0; i < map->getNumColors(); ++i)
		addRow(i);
	
	auto header_view = color_table->horizontalHeader();
	header_view->setSectionResizeMode(QHeaderView::Interactive);
	header_view->resizeSections(QHeaderView::ResizeToContents);
	header_view->setSectionResizeMode(0, QHeaderView::Fixed); // Color
	header_view->resizeSection(0, 32);
	header_view->setSectionResizeMode(1, QHeaderView::Stretch); // Name
	header_view->setSectionResizeMode(1, QHeaderView::Interactive); // Spot colors
	header_view->setSectionResizeMode(5, QHeaderView::Fixed); // Knockout
	header_view->resizeSection(5, 32);
	header_view->setSectionsClickable(false);
	
	currentCellChange(color_table->currentRow(), 0, 0, 0);	// enable / disable move color buttons
	
	// Connections
	connect(color_table, &QTableWidget::cellChanged, this, &ColorListWidget::cellChange);
	connect(color_table, &QTableWidget::currentCellChanged, this, &ColorListWidget::currentCellChange);
	connect(color_table, &QTableWidget::cellDoubleClicked, this, &ColorListWidget::editCurrentColor);
	
	connect(new_button, &QAbstractButton::clicked, this, &ColorListWidget::newColor);
	connect(delete_button, &QAbstractButton::clicked, this, &ColorListWidget::deleteColor);
	connect(move_up_button, &QAbstractButton::clicked, this, &ColorListWidget::moveColorUp);
	connect(move_down_button, &QAbstractButton::clicked, this, &ColorListWidget::moveColorDown);
	connect(edit_button, &QAbstractButton::clicked, this, &ColorListWidget::editCurrentColor);
	connect(help_button, &QAbstractButton::clicked, this, &ColorListWidget::showHelp);
	
	connect(map, &Map::colorAdded, this, &ColorListWidget::colorAdded);
	connect(map, &Map::colorChanged, this, &ColorListWidget::colorChanged);
	connect(map, &Map::colorDeleted, this, &ColorListWidget::colorDeleted);
}