src/misc.cpp

changeset 10
bc1414343e19
parent 8
e8f645d9f28f
child 13
9bdddd2ccde6
--- a/src/misc.cpp	Wed Jul 17 19:45:19 2013 +0300
+++ b/src/misc.cpp	Sun Aug 11 02:58:55 2013 +0300
@@ -1,22 +1,54 @@
 #include "misc.h"
 
-uint32 makeByteID( uint8 a, uint8 b, uint8 c, uint8 d ) {
-	return a | ( b << 8 ) | ( c << 16 ) | ( d << 24 );
+uint32 makeByteID (uint8 a, uint8 b, uint8 c, uint8 d) {
+	return a | (b << 8) | (c << 16) | (d << 24);
+}
+
+// =============================================================================
+// -----------------------------------------------------------------------------
+str binaryConfigName (str ver) {
+	return fmt ("binaries/%1", ver);
+}
+
+// =============================================================================
+// -----------------------------------------------------------------------------
+list<var> getVersionsList() {
+	QSettings cfg;
+	return cfg.value ("binarynames", list<var>()).toList();
 }
 
 // =============================================================================
 // -----------------------------------------------------------------------------
-str binaryConfigName( str ver ) {
-	return fmt( "binaries/%1", ver );
+list<var> getReleasesList() {
+	QSettings cfg;
+	return cfg.value ("releasenames", list<var>()).toList();
 }
 
 // =============================================================================
 // -----------------------------------------------------------------------------
-str basename( str path ) {
-	long lastpos = path.lastIndexOf( "/" );
+void addVersion (str name, bool isRelease, str binaryPath) {
+	QSettings cfg;
+	list<var> versions = getVersionsList();
+	versions << var (name);
+	cfg.setValue ("binarynames", versions);
+	cfg.setValue (binaryConfigName (name), binaryPath);
 	
-	if( lastpos != -1 )
-		return path.mid( lastpos + 1 );
+	if (isRelease) {
+		versions = getReleasesList();
+		versions << var (name);
+		cfg.setValue ("releasenames", versions);
+	}
+	
+	cfg.sync();
+}
+
+// =============================================================================
+// -----------------------------------------------------------------------------
+str basename (str path) {
+	long lastpos = path.lastIndexOf ("/");
+	
+	if (lastpos != -1)
+		return path.mid (lastpos + 1);
 	
 	return path;
-}
\ No newline at end of file
+}

mercurial