예제 #1
0
    void shouldReparentItemsOnModify()
    {
        // GIVEN
        auto data = Testlib::AkonadiFakeData();
        QScopedPointer<Akonadi::MonitorInterface> monitor(data.createMonitor());
        QSignalSpy spy(monitor.data(), &Akonadi::MonitorInterface::itemMoved);

        auto c1 = Akonadi::Collection(42);
        c1.setName(QStringLiteral("42"));
        data.createCollection(c1);

        auto c2 = Akonadi::Collection(43);
        c2.setName(QStringLiteral("43"));
        data.createCollection(c2);

        auto i1 = Akonadi::Item(42);
        i1.setPayloadFromData("42");
        i1.setParentCollection(Akonadi::Collection(42));
        data.createItem(i1);

        // WHEN
        i1.setPayloadFromData("42-bis");
        i1.setParentCollection(Akonadi::Collection(43));
        data.modifyItem(i1);

        // THEN
        QVERIFY(data.childItems(c1.id()).isEmpty());
        QCOMPARE(data.childItems(c2.id()).size(), 1);
        QCOMPARE(data.childItems(c2.id()).at(0), i1);

        QCOMPARE(spy.size(), 1);
        QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Item>(), i1);
    }
예제 #2
0
    void shouldRetagItemsOnModify()
    {
        // GIVEN
        auto data = Testlib::AkonadiFakeData();
        QScopedPointer<Akonadi::MonitorInterface> monitor(data.createMonitor());
        QSignalSpy spy(monitor.data(), &Akonadi::MonitorInterface::itemChanged);

        auto t1 = Akonadi::Tag(42);
        t1.setName(QStringLiteral("42"));
        data.createTag(t1);

        auto t2 = Akonadi::Tag(43);
        t2.setName(QStringLiteral("43"));
        data.createTag(t2);

        auto i1 = Akonadi::Item(42);
        i1.setPayloadFromData("42");
        i1.setTag(Akonadi::Tag(42));
        data.createItem(i1);

        // WHEN
        i1.setPayloadFromData("42-bis");
        i1.clearTag(Akonadi::Tag(42));
        i1.setTag(Akonadi::Tag(43));
        data.modifyItem(i1);

        // THEN
        QVERIFY(data.tagItems(t1.id()).isEmpty());
        QCOMPARE(data.tagItems(t2.id()).size(), 1);
        QCOMPARE(data.tagItems(t2.id()).at(0), i1);

        QCOMPARE(spy.size(), 1);
        QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Item>(), i1);
    }
예제 #3
0
    void shouldNotLooseParentCollectionOnModifyItem()
    {
        // GIVEN
        auto data = Testlib::AkonadiFakeData();

        auto c1 = Akonadi::Collection(42);
        c1.setName(QStringLiteral("42"));
        data.createCollection(c1);

        auto i1 = Akonadi::Item(42);
        i1.setPayloadFromData("42");
        i1.setParentCollection(Akonadi::Collection(42));
        data.createItem(i1);

        auto i2 = Akonadi::Item(i1.id());
        i2.setPayloadFromData("42-bis");

        // WHEN
        data.modifyItem(i2);

        // THEN
        QCOMPARE(data.items().size(), 1);
        QCOMPARE(data.item(i1.id()), i2);
        QCOMPARE(data.item(i1.id()).parentCollection().id(), c1.id());
    }
예제 #4
0
    void shouldModifyItems()
    {
        // GIVEN
        auto data = Testlib::AkonadiFakeData();
        QScopedPointer<Akonadi::MonitorInterface> monitor(data.createMonitor());
        QSignalSpy spy(monitor.data(), &Akonadi::MonitorInterface::itemChanged);
        QSignalSpy moveSpy(monitor.data(), &Akonadi::MonitorInterface::itemMoved);

        auto c1 = Akonadi::Collection(42);
        c1.setName(QStringLiteral("42"));
        data.createCollection(c1);

        auto i1 = Akonadi::Item(42);
        i1.setPayloadFromData("42");
        i1.setParentCollection(Akonadi::Collection(42));
        data.createItem(i1);

        auto i2 = Akonadi::Item(i1.id());
        i2.setPayloadFromData("42-bis");
        i2.setParentCollection(Akonadi::Collection(42));

        // WHEN
        data.modifyItem(i2);

        // THEN
        QCOMPARE(data.items().size(), 1);
        QCOMPARE(data.item(i1.id()), i2);

        QCOMPARE(spy.size(), 1);
        QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Item>(), i2);

        QCOMPARE(moveSpy.size(), 0);
    }
예제 #5
0
bool SSIModifyTask::modifyContact( const OContact& oldItem, const OContact& newItem )
{
	if ( !modifyItem(oldItem, newItem) )
		return false;
	
	m_opSubject = Contact;
	return true;
}
예제 #6
0
void displayAdminItem(LinkedList<Item> *listOfItems, LinkedList<Club> *listOfClubs, LinkedList<User> *listOfUsers)
{
	int choice = 0;
	string junk;

	clearScreen();
	displayLogo();

	cout << setw(36) << right << "Administrator Item Menu:\n\n\n";
	cout << setw(12) << right << "1.) " << left << "Show In Items\n";
	cout << setw(12) << right << "2.) " << left << "Show Out Items\n";
	cout << setw(12) << right << "3.) " << left << "Show All Items\n";
	cout << setw(12) << right << "4.) " << left << "Add Item\n";
	cout << setw(12) << right << "5.) " << left << "Remove Item\n";
	cout << setw(12) << right << "6.) " << left << "Modify Item\n";
	cout << setw(12) << right << "7.) " << left << "Return to Administrator Menu\n";

	cout << setw(28) << right << "Please enter a choice: ";
	cin >> choice;
	getline(cin, junk);

	while ((choice < 1) || (choice > 7))
	{
		cout << setw(28) << right << "Invalid... Enter choice: ";
		cin >> choice;
		getline(cin, junk);
	}

	switch (choice)
	{
	case 1:
		showInItems(listOfItems);
		break;
	case 2:
		showOutItems(listOfItems);
		break;
	case 3:
		showAllItems(listOfItems);
		break;
	case 4:
		addItem(listOfItems);
		break;
	case 5:
		removeItem(listOfItems);
		break;
	case 6: 
		modifyItem(listOfItems);
		break;
	case 7:
		displayAdminMenu(listOfItems, listOfClubs, listOfUsers);
		return;
	}
	pause();
}
예제 #7
0
int CacheSyncSource::updateItem(SyncItem& item) {
    int ret = modifyItem(item);
    switch (ret) {        
        case 200:
        case 201:
        case 418: {
            LOG.info("[%s] Successful update of item with key %s - code %d", getName(), item.getKey(), ret);
            KeyValuePair k;
            getKeyAndSignature(item, k);
            updateInCache(k);
        }
        break;
        default:
            LOG.error("[%s] Failed update of item with key %s - code %d", getName(), item.getKey(), ret);
        break;
    }
    return ret;
}
예제 #8
0
void MangaW::ClassicStart(void)
{
	MainLayout = new QGridLayout;
	VBoxLayout = new QVBoxLayout;
	MainItemList = new QTreeWidget;
	ListButton = new QPushButton("Liste des volumes");
	AddButton = new QPushButton("Ajouter une série");
	ModifyButton = new QPushButton("Modifier une série");
	DeleteButton = new QPushButton("Supprimer une série");

	this->setWindowIcon(qApp->windowIcon());
	this->setWindowTitle(qApp->applicationName());
	this->setMinimumSize(500, 250);

	ItemList = T.list_toQList();
	ListButton->setEnabled(false);
	ModifyButton->setEnabled(false);
	DeleteButton->setEnabled(false);

	MainItemList->setColumnCount(2);
	MainItemList->setHeaderLabels(HeadLabels);
	MainItemList->addTopLevelItems(ItemList);
	MainItemList->resizeColumnToContents(0);
    MainItemList->resizeColumnToContents(1);
    MainItemList->setSelectionBehavior(QAbstractItemView::SelectRows);

	VBoxLayout->addWidget(ListButton);
	VBoxLayout->addWidget(AddButton);
	VBoxLayout->addWidget(ModifyButton);
	VBoxLayout->addWidget(DeleteButton);
	MainLayout->addWidget(MainItemList, 0, 0);
	MainLayout->addLayout(VBoxLayout, 0, 1);

	this->setLayout(MainLayout);
	this->show();

	connect(MainItemList, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, SLOT(itemClicked(QTreeWidgetItem *)));
	connect(MainItemList, SIGNAL(itemActivated(QTreeWidgetItem*,int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*)));
	//connect(MainItemList, SIGNAL(itemSelectionChanged()));
	connect(ListButton, SIGNAL(clicked()), this, SLOT(itemList()));
	connect(AddButton, SIGNAL(clicked()), this, SLOT(addItem()));
	connect(ModifyButton, SIGNAL(clicked()), this, SLOT(modifyItem()));
	connect(DeleteButton, SIGNAL(clicked()), this, SLOT(deleteItem()));
}