summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PackUpdater/Docs/Readme_eng.txt8
-rw-r--r--PackUpdater/Docs/Readme_rus.txt10
-rw-r--r--PackUpdater/Docs/Templates/File1.ini7
-rw-r--r--PackUpdater/Src/Common.h5
-rw-r--r--PackUpdater/Src/Utils.cpp45
-rw-r--r--PackUpdater/Version.h6
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"