Fuel

Diff
Login

Differences From Artifact [8fa0605205]:

To Artifact [c28be6f903]:


61
62
63
64
65
66
67
68

69
70
71
72
73
74
75
61
62
63
64
65
66
67

68
69
70
71
72
73
74
75







-
+







		TYPE_REMOTES,
		TYPE_REMOTE,
	};

	enum
	{
		STATE_DEFAULT,
		STATE_CLEAN,
		STATE_UNCHANGED,
		STATE_MODIFIED,
		STATE_UNKNOWN
	};


	WorkspaceItem()
	: Type(TYPE_UNKNOWN)
712
713
714
715
716
717
718
719

720
721

722
723
724
725
726
727
728
712
713
714
715
716
717
718

719
720

721
722
723
724
725
726
727
728







-
+

-
+







	lblRevision->setVisible(true);

	lblTags->setText(tr("Tags: %0").arg(fossil().getCurrentTags().join(" ")));
	lblTags->setVisible(true);
}

//------------------------------------------------------------------------------
static void addPathToTree(QStandardItem &root, const QString &path, const QIcon &iconDefault, const QIcon &iconClean, const QIcon &iconDirty, const QIcon &iconUnknown, const pathstate_map_t &pathState)
static void addPathToTree(QStandardItem &root, const QString &path, const QIcon &iconDefault, const QIcon &iconUnchanged, const QIcon &iconModified, const QIcon &iconUnknown, const pathstate_map_t &pathState)
{
	QStringList dirs = path.split('/');
	QStringList dirs = path.split(PATH_SEPARATOR);
	QStandardItem *parent = &root;

	QString fullpath;
	for(QStringList::iterator it = dirs.begin(); it!=dirs.end(); ++it)
	{
		const QString &dir = *it;
		fullpath += dir;
750
751
752
753
754
755
756
757

758
759
760
761
762


763
764





765

766



767

768


769
770


771
772
773
774
775
776

777
778
779
780
781
782
783
750
751
752
753
754
755
756

757
758
759
760
761
762
763
764


765
766
767
768
769
770
771

772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788

789
790
791
792
793
794
795
796







-
+





+
+
-
-
+
+
+
+
+

+
-
+
+
+

+

+
+


+
+





-
+







				WorkspaceFile::Type type = state_it.value();

				if(type & (WorkspaceFile::TYPE_MODIFIED))
					state = WorkspaceItem::STATE_MODIFIED;
				else if(type == WorkspaceFile::TYPE_UNKNOWN)
					state = WorkspaceItem::STATE_UNKNOWN;
				else
					state = WorkspaceItem::STATE_CLEAN;
					state = WorkspaceItem::STATE_UNCHANGED;
			}

			QStandardItem *child = new QStandardItem(dir);
			child->setData(WorkspaceItem(WorkspaceItem::TYPE_FOLDER, fullpath, state), ROLE_WORKSPACE_ITEM);

			QString tooltip = fullpath;

			if(state == WorkspaceItem::STATE_CLEAN)
				child->setIcon(iconClean);
			if(state == WorkspaceItem::STATE_UNCHANGED)
			{
				child->setIcon(iconUnchanged);
				tooltip += " " + QObject::tr("Unchanged");
			}
			else if(state == WorkspaceItem::STATE_MODIFIED)
			{
				child->setIcon(iconDirty);
				child->setIcon(iconModified);
				tooltip += " " + QObject::tr("Modified");
			}
			else if(state == WorkspaceItem::STATE_UNKNOWN)
			{
				child->setIcon(iconUnknown);
				tooltip += " " + QObject::tr("Unknown");
			}
			else
				child->setIcon(iconDefault);

			child->setToolTip(tooltip);

			parent->appendRow(child);
			parent = child;
		}

		fullpath += '/';
		fullpath += PATH_SEPARATOR;
	}
}

//------------------------------------------------------------------------------
void MainWindow::updateWorkspaceView()
{
	// Record expanded tree-node names, and selection