headers << qt_("Package") << qt_("Load automatically")
<< qt_("Load always") << qt_("Do not load");
mathsModule->packagesTW->setHorizontalHeaderLabels(headers);
- setSectionResizeMode(mathsModule->packagesTW->horizontalHeader(), QHeaderView::ResizeToContents);
+ setSectionResizeMode(mathsModule->packagesTW->horizontalHeader(), QHeaderView::Stretch);
map<string, string> const & packages = BufferParams::auto_packages();
mathsModule->packagesTW->setRowCount(packages.size());
- int i = 0;
+ int packnum = 0;
for (map<string, string>::const_iterator it = packages.begin();
it != packages.end(); ++it) {
docstring const package = from_ascii(it->first);
autoRB->setToolTip(autoTooltip);
alwaysRB->setToolTip(alwaysTooltip);
neverRB->setToolTip(neverTooltip);
+
+ // Pack the buttons in a layout in order to get proper alignment
+ QWidget * autoRBWidget = new QWidget();
+ QHBoxLayout * autoRBLayout = new QHBoxLayout(autoRBWidget);
+ autoRBLayout->addWidget(autoRB);
+ autoRBLayout->setAlignment(Qt::AlignCenter);
+ autoRBLayout->setContentsMargins(0, 0, 0, 0);
+ autoRBWidget->setLayout(autoRBLayout);
+
+ QWidget * alwaysRBWidget = new QWidget();
+ QHBoxLayout * alwaysRBLayout = new QHBoxLayout(alwaysRBWidget);
+ alwaysRBLayout->addWidget(alwaysRB);
+ alwaysRBLayout->setAlignment(Qt::AlignCenter);
+ alwaysRBLayout->setContentsMargins(0, 0, 0, 0);
+ alwaysRBWidget->setLayout(alwaysRBLayout);
+
+ QWidget * neverRBWidget = new QWidget();
+ QHBoxLayout * neverRBLayout = new QHBoxLayout(neverRBWidget);
+ neverRBLayout->addWidget(neverRB);
+ neverRBLayout->setAlignment(Qt::AlignCenter);
+ neverRBLayout->setContentsMargins(0, 0, 0, 0);
+ neverRBWidget->setLayout(neverRBLayout);
+
QTableWidgetItem * pack = new QTableWidgetItem(toqstr(package));
- mathsModule->packagesTW->setItem(i, 0, pack);
- mathsModule->packagesTW->setCellWidget(i, 1, autoRB);
- mathsModule->packagesTW->setCellWidget(i, 2, alwaysRB);
- mathsModule->packagesTW->setCellWidget(i, 3, neverRB);
- //center the table contents
- pack->setTextAlignment(Qt::AlignHCenter);
- autoRB->setStyleSheet("margin-left:50%; margin-right:50%;");
- alwaysRB->setStyleSheet("margin-left:50%; margin-right:50%;");
- neverRB->setStyleSheet("margin-left:50%; margin-right:50%;");
+
+ mathsModule->packagesTW->setItem(packnum, 0, pack);
+ mathsModule->packagesTW->setCellWidget(packnum, 1, autoRBWidget);
+ mathsModule->packagesTW->setCellWidget(packnum, 2, alwaysRBWidget);
+ mathsModule->packagesTW->setCellWidget(packnum, 3, neverRBWidget);
connect(autoRB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
this, SLOT(change_adaptor()));
connect(neverRB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
- ++i;
+ ++packnum;
}
connect(mathsModule->allPackagesAutoPB, SIGNAL(clicked()),
this, SLOT(allPackagesAuto()));
if (!item)
continue;
int row = mathsModule->packagesTW->row(item);
- QRadioButton * rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 1);
+
+ QRadioButton * rb =
+ (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 1)->layout()->itemAt(0)->widget();
if (rb->isChecked()) {
bp_.use_package(it->first, BufferParams::package_auto);
continue;
}
- rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 2);
+ rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 2)->layout()->itemAt(0)->widget();
if (rb->isChecked()) {
bp_.use_package(it->first, BufferParams::package_on);
continue;
}
- rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 3);
+ rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 3)->layout()->itemAt(0)->widget();
if (rb->isChecked())
bp_.use_package(it->first, BufferParams::package_off);
}
int row = mathsModule->packagesTW->row(item);
switch (bp_.use_package(it->first)) {
case BufferParams::package_off: {
- QRadioButton * rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 3);
+ QRadioButton * rb =
+ (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 3)->layout()->itemAt(0)->widget();
rb->setChecked(true);
break;
}
case BufferParams::package_on: {
- QRadioButton * rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 2);
+ QRadioButton * rb =
+ (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 2)->layout()->itemAt(0)->widget();
rb->setChecked(true);
break;
}
case BufferParams::package_auto: {
- QRadioButton * rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 1);
+ QRadioButton * rb =
+ (QRadioButton*)mathsModule->packagesTW->cellWidget(row, 1)->layout()->itemAt(0)->widget();
rb->setChecked(true);
break;
}
void GuiDocument::allPackages(int col)
{
for (int row = 0; row < mathsModule->packagesTW->rowCount(); ++row) {
- QRadioButton * rb = (QRadioButton*)mathsModule->packagesTW->cellWidget(row, col);
+ QRadioButton * rb =
+ (QRadioButton*)mathsModule->packagesTW->cellWidget(row, col)->layout()->itemAt(0)->widget();
rb->setChecked(true);
}
}