GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — sqlitebrowser/src/FileExtensionManager.cpp at master · sqlitebrowser/sqlitebrowser Expand file tree/ Copy pathFileExtensionManager.cppMore file actions 104 lines (86 loc) · 3.48 KB / Copy pathFileExtensionManager.cppFile metadata and controls104 lines (86 loc) · 3.48 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 #include "FileExtensionManager.h" #include "ui_FileExtensionManager.h" #include <set> FileExtensionManager::FileExtensionManager(QStringList init, QWidget *parent) : QDialog(parent), ui(new Ui::FileExtensionManager) { ui->setupUi(this); int i = 0; for(const QString& itemString : init) { QString description = itemString.left(itemString.indexOf('(')).trimmed(); QString extension = itemString; extension = extension.remove (0, itemString.indexOf('(')+1).remove(')').simplified().trimmed(); QTableWidgetItem *newItemDescription = new QTableWidgetItem(description); QTableWidgetItem *newItemExtension = new QTableWidgetItem(extension); ui->tableExtensions->insertRow(i); ui->tableExtensions->setItem(i, 0, newItemDescription); ui->tableExtensions->setItem(i, 1, newItemExtension); i++; } connect(ui->buttonAdd, SIGNAL(clicked(bool)), this, SLOT(addItem())); connect(ui->buttonRemove, SIGNAL(clicked(bool)), this, SLOT(removeItem())); connect(ui->buttonDown, SIGNAL(clicked(bool)), this, SLOT(downItem())); connect(ui->buttonUp, SIGNAL(clicked(bool)), this, SLOT(upItem())); } FileExtensionManager::~FileExtensionManager() { delete ui; } void FileExtensionManager::addItem() { int i = ui->tableExtensions->rowCount(); ui->tableExtensions->insertRow(i); QTableWidgetItem *newItemDescription = new QTableWidgetItem(tr("Description")); QTableWidgetItem *newItemExtension = new QTableWidgetItem(tr("*.extension")); ui->tableExtensions->setItem(i, 0, newItemDescription); ui->tableExtensions->setItem(i, 1, newItemExtension); } void FileExtensionManager::removeItem() { std::set<int> selectedRows; for (const QTableWidgetItem* item : ui->tableExtensions->selectedItems()) selectedRows.insert(item->row()); for(int row : selectedRows) ui->tableExtensions->removeRow(row); } void FileExtensionManager::upItem() { if (ui->tableExtensions->selectedItems().isEmpty()) return; int selectedRow = ui->tableExtensions->selectedItems().first()->row(); if(selectedRow == 0) return; QTableWidgetItem *t1, *t2; t1 = ui->tableExtensions->takeItem(selectedRow, 0); t2 = ui->tableExtensions->takeItem(selectedRow, 1); ui->tableExtensions->removeRow(selectedRow); ui->tableExtensions->insertRow(selectedRow-1); ui->tableExtensions->setItem(selectedRow-1, 0, t1); ui->tableExtensions->setItem(selectedRow-1, 1, t2); ui->tableExtensions->selectRow(selectedRow-1); } void FileExtensionManager::downItem() { if (ui->tableExtensions->selectedItems().isEmpty()) return; int selectedRow = ui->tableExtensions->selectedItems().first()->row(); if(selectedRow == ui->tableExtensions->rowCount() - 1) return; QTableWidgetItem *t1, *t2; t1 = ui->tableExtensions->takeItem(selectedRow, 0); t2 = ui->tableExtensions->takeItem(selectedRow, 1); ui->tableExtensions->removeRow(selectedRow); ui->tableExtensions->insertRow(selectedRow+1); ui->tableExtensions->setItem(selectedRow+1, 0, t1); ui->tableExtensions->setItem(selectedRow+1, 1, t2); ui->tableExtensions->selectRow(selectedRow+1); } QStringList FileExtensionManager::getDBFileExtensions() const { QStringList result; for (int i = 0; i < ui->tableExtensions->rowCount(); ++i) { result.append(QString("%1 (%2)").arg(ui->tableExtensions->item(i, 0)->text(), ui->tableExtensions->item(i, 1)->text())); } return result; } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |