diff options
author | mataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-12-03 14:38:14 +0000 |
---|---|---|
committer | mataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-12-03 14:38:14 +0000 |
commit | 331bd873e62c59d7e188eb7054c5abd46eeba15a (patch) | |
tree | 642a7278da332c508887fd4d63b13ef995e84b3a | |
parent | 65435f0fccc9e30f44a35ef1f8271902bb33e518 (diff) |
PackUpdater:
added new parameter for files
version bump
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@236 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
-rw-r--r-- | PackUpdater/Docs/Readme_eng.txt | 8 | ||||
-rw-r--r-- | PackUpdater/Docs/Readme_rus.txt | 10 | ||||
-rw-r--r-- | PackUpdater/Docs/Templates/File1.ini | 7 | ||||
-rw-r--r-- | PackUpdater/Src/Common.h | 5 | ||||
-rw-r--r-- | PackUpdater/Src/Utils.cpp | 45 | ||||
-rw-r--r-- | PackUpdater/Version.h | 6 |
6 files changed, 66 insertions, 15 deletions
diff --git a/PackUpdater/Docs/Readme_eng.txt b/PackUpdater/Docs/Readme_eng.txt index 858291b..8dc336f 100644 --- a/PackUpdater/Docs/Readme_eng.txt +++ b/PackUpdater/Docs/Readme_eng.txt @@ -1,5 +1,5 @@ ==================
-Pack Updater 0.0.9
+Pack Updater 0.1.0
==================
Miranda IM plugin that do automatic or manual Miranda packs update.
@@ -16,6 +16,11 @@ Plugin maybe interesting for packs author, which wants do update of their pack a 0. Changelog
-----------------
+0.1.0
++ now not installed files are not updated
++ added an additional parameter "Force" in the description of the file. With it you an update not installed files
+* Changed FileType parameter type
+
0.0.9
* Fixed order in update list
@@ -110,6 +115,7 @@ InfoURL - Optional. If it writed, message box that user see have button "See inf AdvFolder - Optional. If it writed, set subfolder in folder defined FileType.
+Force - Optional. If it writed, the file will be offered for renewal, even if you do not installed.
4. Download file with infirmation and updates on server.
diff --git a/PackUpdater/Docs/Readme_rus.txt b/PackUpdater/Docs/Readme_rus.txt index 05418b5..f469d7c 100644 --- a/PackUpdater/Docs/Readme_rus.txt +++ b/PackUpdater/Docs/Readme_rus.txt @@ -1,5 +1,5 @@ ==================
-Pack Updater 0.0.9
+Pack Updater 0.1.0
==================
Плагин для Miranda IM, выполняющий автоматическое обновление сборок (паков).
@@ -9,13 +9,18 @@ Pack Updater 0.0.9 0. История версий
1. Как использовать?
2. Как оно работает?
-3. Цопирайты и прочее
+3. Копирайты и прочее
-----------------
0. История версий
-----------------
+0.1.0
++ теперь отсутствующие файлы не обновляются
++ добавлен дополнительный параметр Force в описании файла. С ним можно обновлять отсутсвующие файлы
+* изменен тип параметра FileType
+
0.0.9
* Исправлен баг с порядком в списке обновлений
@@ -110,6 +115,7 @@ InfoURL - Опционально. Если присутствует, то в окошке уведомления появляется кно AdvFolder - Опционально. Если присутствует, то задает подпапку в папке определяемой типом файла.
+Force - Опционально. Если присутствует, то файл будет предложен для обновления, даже если отсутствует.
4. Заливаем файл с инфой о версиях и апдейты на сервер.
diff --git a/PackUpdater/Docs/Templates/File1.ini b/PackUpdater/Docs/Templates/File1.ini index ae99847..311c75b 100644 --- a/PackUpdater/Docs/Templates/File1.ini +++ b/PackUpdater/Docs/Templates/File1.ini @@ -5,7 +5,8 @@ DownloadURL = "http://mataes.googlecode.com/files/Miranda%20IM%20Mataes%20Pack%2 DiskFileName = "Miranda IM Mataes Pack v0.8.3.exe"
InfoURL = "http://miranda-planet.com/forum/index.php?showtopic=6121"
Descr="Test1"
-FileType="1"
+FileType=1
+Force=1
[FileInfo_2]
FileVersion = 0.0.1
@@ -13,7 +14,7 @@ Message = "Test Plugin" DownloadURL = "http://mataes.googlecode.com/files/Test_Plugin.dll"
DiskFileName = "Test_plugin.dll"
Descr="Test2"
-FileType="2"
+FileType=2
[FileInfo_3]
FileVersion = 0.0.1
@@ -21,4 +22,4 @@ Message = "Test Icon" DownloadURL = "http://mataes.googlecode.com/files/Test_Icon.dll"
DiskFileName = "Test_Icon.dll"
Descr="Test3"
-FileType="3"
\ No newline at end of file +FileType=3
\ No newline at end of file diff --git a/PackUpdater/Src/Common.h b/PackUpdater/Src/Common.h index e976c46..49cf294 100644 --- a/PackUpdater/Src/Common.h +++ b/PackUpdater/Src/Common.h @@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA. #include <m_folders.h>
#include <m_popup.h>
#include <m_hotkeys.h>
-#include <m_popup2.h>
+#include "m_popup2.h"
#include <m_netlib.h>
#include <m_icolib.h>
@@ -58,12 +58,10 @@ Boston, MA 02111-1307, USA. #define MODULEW L"Pack Updater"
#ifdef _UNICODE
#define DEFAULT_UPDATES_FOLDER L"Pack Updates"
- #define MIRANDA_USERDATAT MIRANDA_USERDATAW
typedef std::wstring tString;
#define MODULE MODULEW
#else
#define DEFAULT_UPDATES_FOLDER "Pack Updates"
- #define MIRANDA_USERDATAT MIRANDA_USERDATA
typedef std::string tString;
#define MODULE MODULEA
#endif
@@ -87,6 +85,7 @@ struct FILEINFO BOOL enabled;
BYTE FileType;
INT FileNum;
+ BYTE Force;
};
struct PackUpdaterIconList
diff --git a/PackUpdater/Src/Utils.cpp b/PackUpdater/Src/Utils.cpp index 1c77076..3665fdb 100644 --- a/PackUpdater/Src/Utils.cpp +++ b/PackUpdater/Src/Utils.cpp @@ -291,8 +291,8 @@ static void CheckUpdates(void *) } // end check update name
lstrcpyn(Files[CurrentFile].File.tszDiskPath, tszBuff, SIZEOF(Files[CurrentFile].File.tszDiskPath));
GetPrivateProfileString(tszFileInfo, _T("InfoURL"), _T(""), Files[CurrentFile].tszInfoURL, SIZEOF(Files[CurrentFile].tszInfoURL), tszTmpIni);
- GetPrivateProfileString(tszFileInfo, _T("FileType"), _T(""), tszBuff, SIZEOF(tszBuff), tszTmpIni);
- Files[CurrentFile].FileType = _tstoi(tszBuff);
+ Files[CurrentFile].FileType = GetPrivateProfileInt(tszFileInfo, _T("FileType"), 0, tszTmpIni);
+ Files[CurrentFile].Force = GetPrivateProfileInt(tszFileInfo, _T("Force"), 0, tszTmpIni);
Files[CurrentFile].FileNum = CurrentFile+1;
if (Files[CurrentFile].FileType == 2)
@@ -321,7 +321,46 @@ static void CheckUpdates(void *) } // user have not admin's rights
else
{
- UpdateFiles.push_back(Files[CurrentFile]);
+ //добавить проверку на существование файла
+ TCHAR tszFilePathDest[MAX_PATH] = {0};
+ TCHAR* tszUtilRootPlug = NULL;
+ TCHAR* tszUtilRootIco = NULL;
+ TCHAR* tszUtilRoot = NULL;
+
+ switch (Files[CurrentFile].FileType)
+ {
+ case 0:
+ case 1:
+ break;
+ case 2:
+ tszUtilRootPlug = Utils_ReplaceVarsT(_T("%miranda_path%\\Plugins"));
+ if (lstrcmp(Files[CurrentFile].tszAdvFolder, _T("")) == 0)
+ mir_sntprintf(tszFilePathDest, SIZEOF(tszFilePathDest), _T("%s\\%s"), tszUtilRootPlug, Files[CurrentFile].File.tszDiskPath);
+ else
+ mir_sntprintf(tszFilePathDest, SIZEOF(tszFilePathDest), _T("%s\\%s\\%s"), tszUtilRootPlug, Files[CurrentFile].tszAdvFolder, Files[CurrentFile].File.tszDiskPath);
+ mir_free(tszUtilRootPlug);
+ break;
+ case 3:
+ tszUtilRootIco = Utils_ReplaceVarsT(_T("%miranda_path%\\Icons"));
+ if (lstrcmp(Files[CurrentFile].tszAdvFolder, _T("")) == 0)
+ mir_sntprintf(tszFilePathDest, SIZEOF(tszFilePathDest), _T("%s\\%s"), tszUtilRootIco, Files[CurrentFile].File.tszDiskPath);
+ else
+ mir_sntprintf(tszFilePathDest, SIZEOF(tszFilePathDest), _T("%s\\%s\\%s"), tszUtilRootIco, Files[CurrentFile].tszAdvFolder, Files[CurrentFile].File.tszDiskPath);
+ mir_free(tszUtilRootIco);
+ break;
+ case 4:
+ case 5:
+ tszUtilRoot = Utils_ReplaceVarsT(_T("%miranda_path%"));
+ if (lstrcmp(Files[CurrentFile].tszAdvFolder, _T("")) == 0)
+ mir_sntprintf(tszFilePathDest, SIZEOF(tszFilePathDest), _T("%s\\%s"), tszUtilRoot, Files[CurrentFile].File.tszDiskPath);
+ else
+ mir_sntprintf(tszFilePathDest, SIZEOF(tszFilePathDest), _T("%s\\%s\\%s"), tszUtilRoot, Files[CurrentFile].tszAdvFolder, Files[CurrentFile].File.tszDiskPath);
+ mir_free(tszUtilRoot);
+ break;
+ }//end* switch (Files[CurrentFile].FileType)
+
+ if (Files[CurrentFile].Force || Exists(tszFilePathDest))
+ UpdateFiles.push_back(Files[CurrentFile]);
// Save last version
lstrcpyn(Files[CurrentFile].tszLastVer, Files[CurrentFile].tszNewVer, SIZEOF(Files[CurrentFile].tszLastVer));
mir_snprintf(szKey, SIZEOF(szKey), "File_%d_LastVersion", CurrentFile + 1);
diff --git a/PackUpdater/Version.h b/PackUpdater/Version.h index 14b51f7..3958f33 100644 --- a/PackUpdater/Version.h +++ b/PackUpdater/Version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 0
#define __MINOR_VERSION 0
-#define __RELEASE_NUM 0
-#define __BUILD_NUM 9
+#define __RELEASE_NUM 1
+#define __BUILD_NUM 0
#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM
#define __FILEVERSION_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM
@@ -25,4 +25,4 @@ #define __AUTHOR "Mataes, ZERO_BiT"
#define __AUTHOREMAIL "mataes2007@gmail.com, zero-bit@mail.ru"
#define __AUTHORWEB "http://mataes.googlecode.com/svn/Miranda/Plugins/PackUpdater/"
-#define __COPYRIGHT "© 2010 Mataes, 2007 ZERO_BiT"
+#define __COPYRIGHT "© 2011 Mataes, 2007 ZERO_BiT"
|