Esempio n. 1
0
BookmarksModel::BookmarksModel(const QString &path, FormatMode mode, QObject *parent) : QStandardItemModel(parent),
	m_mode(mode)
{
	BookmarksItem *rootItem = new BookmarksItem();
	rootItem->setData(RootBookmark, TypeRole);
	rootItem->setData(((mode == NotesMode) ? tr("Notes") : tr("Bookmarks")), TitleRole);
	rootItem->setDragEnabled(false);

	BookmarksItem *trashItem = new BookmarksItem();
	trashItem->setData(TrashBookmark, TypeRole);
	trashItem->setData(tr("Trash"), TitleRole);
	trashItem->setDragEnabled(false);
	trashItem->setEnabled(false);

	appendRow(rootItem);
	appendRow(trashItem);
	setItemPrototype(new BookmarksItem());

	QFile file(path);

	if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
	{
		Console::addMessage(((mode == NotesMode) ? tr("Failed to open notes file: %1") : tr("Failed to open bookmarks file: %1")).arg(file.errorString()), OtherMessageCategory, ErrorMessageLevel, path);

		return;
	}

	QXmlStreamReader reader(file.readAll());

	if (reader.readNextStartElement() && reader.name() == QLatin1String("xbel") && reader.attributes().value(QLatin1String("version")).toString() == QLatin1String("1.0"))
	{
		while (reader.readNextStartElement())
		{
			if (reader.name() == QLatin1String("folder") || reader.name() == QLatin1String("bookmark") || reader.name() == QLatin1String("separator"))
			{
				readBookmark(&reader, rootItem);
			}
			else
			{
				reader.skipCurrentElement();
			}

			if (reader.hasError())
			{
				getRootItem()->removeRows(0, getRootItem()->rowCount());

				Console::addMessage(((m_mode == NotesMode) ? tr("Failed to load notes file: %1") : tr("Failed to load bookmarks file: %1")).arg(reader.errorString()), OtherMessageCategory, ErrorMessageLevel, path);

				QMessageBox::warning(NULL, tr("Error"), ((m_mode == NotesMode) ? tr("Failed to load notes file.") : tr("Failed to load bookmarks file.")), QMessageBox::Close);

				return;
			}
		}
	}

	connect(this, SIGNAL(itemChanged(QStandardItem*)), this, SIGNAL(modelModified()));
	connect(this, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SIGNAL(modelModified()));
	connect(this, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SIGNAL(modelModified()));
	connect(this, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SIGNAL(modelModified()));
}
Esempio n. 2
0
TupLayerIndex::TupLayerIndex(int sceneIndex, QWidget *parent) : QTableWidget(0, 1, parent), k(new Private)
{
#ifdef K_DEBUG
    TINIT;
#endif

    k->sceneIndex = sceneIndex;
    setSelectionMode(QAbstractItemView::SingleSelection);
    setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

    QTableWidgetItem *prototype = new QTableWidgetItem;
    prototype->setTextAlignment(Qt::AlignCenter);
    prototype->setBackgroundColor(palette().text().color());
    prototype->setTextColor(palette().background().color());

    setItemPrototype(prototype);

    setHorizontalHeaderLabels(QStringList() << tr("Layers"));
    verticalHeader()->hide();

    setHorizontalHeader(new TupLayerIndexHeader(this));
    setItemDelegate(new TupLayerIndexItemDelegate(this));

    connect(this, SIGNAL(cellClicked(int, int)), this, SLOT(setLocalRequest(int, int)));
}
Esempio n. 3
0
Spreadsheet::Spreadsheet(QWidget *parent):QTableWidget(parent)
{
    setItemPrototype(new Cell);
    setSelectionMode(ContiguousSelection);

    connect(this,SIGNAL(itemChanged(QTableWidgetItem*)),this,SLOT(somethingChanged()));

    setRowCount(RowCount);
    setColumnCount(ColumnCount);
    clear();
}
Esempio n. 4
0
Spreadsheet::Spreadsheet(QWidget *parent) :
    QTableWidget(parent)
{
    setAutoRecalculate(true);
    setItemPrototype(new Cell);
    setSelectionMode(ContiguousSelection);

    connect(this, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(somethingChanged()));

    clear();
}
Esempio n. 5
0
QgsLegendModel::QgsLegendModel(): QStandardItemModel(), mAutoUpdate( true )
{
  if ( QgsMapLayerRegistry::instance() )
  {
    connect( QgsMapLayerRegistry::instance(), SIGNAL( layerWillBeRemoved( QString ) ), this, SLOT( removeLayer( const QString& ) ) );
    connect( QgsMapLayerRegistry::instance(), SIGNAL( layerWasAdded( QgsMapLayer* ) ), this, SLOT( addLayer( QgsMapLayer* ) ) );
  }
  setItemPrototype( new QgsComposerSymbolItem() );

  QWidgetList topLevelWidgets = QApplication::topLevelWidgets();
  mHasTopLevelWindow = ( topLevelWidgets.size() > 0 );
}
Esempio n. 6
0
/*!
    Constructs a new QxtTableWidget with \a parent.
 */
QxtTableWidget::QxtTableWidget(QWidget* parent)
        : QTableWidget(parent)
{
    QXT_INIT_PRIVATE(QxtTableWidget);
    setItemPrototype(new QxtTableWidgetItem);
    QxtItemDelegate* delegate = new QxtItemDelegate(this);
    connect(delegate, SIGNAL(editingStarted(const QModelIndex&)),
            &qxt_d(), SLOT(informStartEditing(const QModelIndex&)));
    connect(delegate, SIGNAL(editingFinished(const QModelIndex&)),
            &qxt_d(), SLOT(informFinishEditing(const QModelIndex&)));
    setItemDelegate(delegate);
}
UISpreadsheet::UISpreadsheet(QWidget *parent)
    : QTableWidget(parent)
{
    autoRecalc = true;
    spreadSheet =new matrix(100,100);
    setItemPrototype(new UICell);
    setSelectionMode(ContiguousSelection);

    connect(this, SIGNAL(itemChanged(QTableWidgetItem *)),
            this, SLOT(somethingChanged()));

    clear();
}
Esempio n. 8
0
ViewTable::ViewTable(QWidget *parent)
	: QTableWidget(parent)
{
	setItemPrototype(new Cell);
	setSelectionMode(NoSelection);
	horizontalHeader()->setMinimumSectionSize(25);
	horizontalHeader()->setResizeMode( QHeaderView::Stretch );
	setEditTriggers(QTableWidget::NoEditTriggers);

	alignRight = 1;
	lastRow = 0;

	connect(this, SIGNAL( cellClicked(int, int) ), this, SLOT( selectRow() )) ;
	connect(this, SIGNAL( currentCellChanged(int, int, int, int) ), this, SLOT( selectRow() )) ;
}
Esempio n. 9
0
Spreadsheet::Spreadsheet(QWidget *parent) :
    QTableWidget(parent)
{
    autoRecalc = true;

    //normally QTableWidget automatically creates a QTableWidgetItem to hold text
    //here we wanted cell-items to be created
    setItemPrototype(new Cell);
    setSelectionMode(ContiguousSelection);//allows single rectangular selection

    connect(this, SIGNAL(itemChanged(QTableWidgetItem *)),
            this, SLOT(somethingChanged()));

    clear();
}
Esempio n. 10
0
OperationTable::OperationTable(QWidget *parent)
	: QTableWidget(parent)
{
	setItemPrototype(new ECell);
	setSelectionMode(ContiguousSelection);

	horizontalHeader()->setMinimumSectionSize(25);
	//horizontalHeader()->setResizeMode( QHeaderView::Stretch );
	horizontalHeader()->setDefaultAlignment( Qt::AlignCenter );

	rowList.clear();

	connect( this, SIGNAL( cellChanged(int, int) ), this, SLOT( changed(int, int) ) );
	connect( this, SIGNAL( cellChanged(int, int) ), this, SLOT( changeDelegateList(int, int) ) );
	connect( this->model(), SIGNAL( rowsInserted( const QModelIndex &, int, int) ), this, SLOT( setColumnsReadOnly() ) );
}
Esempio n. 11
0
/**
*the constructor of EasyTable
*/
EasyTable::EasyTable(QWidget *parent) :
    QTableWidget(parent)
{
    autoRecalc = true;
    defaultAlignment = true;
    autoResize = true;
    autoTip = false;
    tipDirty = false;
    RowCount = 32;      //set the number of rows
    ColumnCount = 18;   //set the number of columns
    setItemPrototype(new Cell);
    setSelectionMode(ExtendedSelection);
    clear();
    storeCellSize(0,0);//store the size of a normal cell;
    //Connections should be done later than clear(),
    //otherwise the size of Cell will be changed unexpectedly
    connectSignalsAndSlots();
}
Esempio n. 12
0
SudokuTable::SudokuTable(QWidget *parent)
    : QTableWidget(parent)
{
    setItemPrototype(new Cell);
    setSelectionMode(NoSelection);
    setStyleSheet("gridline-color: black");
    setShowGrid(true);
    setFocusPolicy(Qt::NoFocus);
    horizontalHeader()->setVisible(false);
    verticalHeader()->setVisible(false);

    sudokuData = new SudokuData;
    setDataSolutions(1);
    clear();
    connect(this, SIGNAL(cellChanged(int, int)),
            this, SLOT(somethingChanged(int, int)));
    connect(this, SIGNAL(currentCellChanged(int, int, int, int)),
            this, SLOT(drawEyeModeBackground(int, int)));

}