Esempio n. 1
0
	void GraffitiTab::SetupEdits ()
	{
		new Util::ClearLineEditAddon (CoreProxy_, Ui_.Album_);
		new Util::ClearLineEditAddon (CoreProxy_, Ui_.Artist_);
		new Util::ClearLineEditAddon (CoreProxy_, Ui_.Title_);

		auto genreMgr = new Util::LineEditButtonManager (Ui_.Genre_);

		Ui_.Genre_->SetSeparator (" / ");

		auto model = new Util::TagsCompletionModel (this);
		model->UpdateTags (Genres);
		auto completer = new Util::TagsCompleter (Ui_.Genre_);
		completer->OverrideModel (model);

		Ui_.Genre_->AddSelector (genreMgr);

		new Util::ClearLineEditAddon (CoreProxy_, Ui_.Genre_, genreMgr);

		connect (Ui_.ArtistSetAll_,
				SIGNAL (released ()),
				this,
				SLOT (on_Artist__textChanged ()));
		connect (Ui_.AlbumSetAll_,
				SIGNAL (released ()),
				this,
				SLOT (on_Album__textChanged ()));
		connect (Ui_.TitleSetAll_,
				SIGNAL (released ()),
				this,
				SLOT (on_Title__textChanged ()));
		connect (Ui_.GenreSetAll_,
				SIGNAL (released ()),
				this,
				SLOT (on_Genre__textChanged ()));
		connect (Ui_.YearSetAll_,
				SIGNAL (released ()),
				this,
				SLOT (on_Year__valueChanged ()));
	}
	QWidget* EntriesDelegate::createEditor (QWidget *parent, const QStyleOptionViewItem& option, const QModelIndex& index) const
	{
		switch (index.column ())
		{
		case EntriesModel::Columns::Account:
		case EntriesModel::Columns::EntryCurrency:
			return new QComboBox (parent);
		case EntriesModel::Columns::Categories:
		{
			auto result = new Util::TagsLineEdit (parent);
			auto completer = new Util::TagsCompleter (result, result);

			const auto& cats = Core::Instance ().GetOpsManager ()->GetKnownCategories ().toList ();
			completer->OverrideModel (new QStringListModel (cats, completer));

			result->AddSelector ();

			return result;
		}
		default:
			return QStyledItemDelegate::createEditor (parent, option, index);
		}
	}