mirror of
https://github.com/dazedcat19/FMD2.git
synced 2024-11-30 07:11:06 +00:00
favorites, add field added date, last check and last updated
This commit is contained in:
parent
856ab58814
commit
4aa1bea248
@ -19,11 +19,14 @@ type
|
||||
public
|
||||
constructor Create(const AFilename: String);
|
||||
procedure InternalUpdate(const AOrder:Integer;const AEnabled:Boolean;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo: String); inline;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo: String;
|
||||
const ADateLastChecked,ADateLastUpdated: TDateTime); inline;
|
||||
procedure InternalAdd(const AOrder:Integer;const AEnabled:Boolean;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo: String); inline;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo: String;
|
||||
const ADateAdded: TDateTime); inline;
|
||||
function Add(const AOrder:Integer;const AEnabled:Boolean;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo:String):Boolean;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo:String;
|
||||
const ADateAdded: TDateTime):Boolean;
|
||||
procedure Delete(const AWebsite, ALink: String);
|
||||
procedure Commit; override;
|
||||
procedure Close; override;
|
||||
@ -40,6 +43,9 @@ const
|
||||
f_currentchapter = 6;
|
||||
f_downloadedchapterlist = 7;
|
||||
f_saveto = 8;
|
||||
f_dateadded = 9;
|
||||
f_datelastchecked = 10;
|
||||
f_datelastupdated = 11;
|
||||
|
||||
implementation
|
||||
|
||||
@ -68,13 +74,18 @@ begin
|
||||
'"title" TEXT,' +
|
||||
'"currentchapter" TEXT,' +
|
||||
'"downloadedchapterlist" TEXT,' +
|
||||
'"saveto" TEXT';
|
||||
FieldsParams := '"websitelink","order","enabled","website","link","title","currentchapter","downloadedchapterlist","saveto"';
|
||||
'"saveto" TEXT,' +
|
||||
'"dateadded" DATETIME,' +
|
||||
'"datelastchecked" DATETIME,' +
|
||||
'"datelastupdated" DATETIME';
|
||||
FieldsParams := '"websitelink","order","enabled","website","link","title","currentchapter","downloadedchapterlist","saveto","dateadded","datelastchecked","datelastupdated"';
|
||||
SelectParams := 'SELECT * FROM ' + QuotedStrD(TableName) + ' ORDER BY "order"';
|
||||
end;
|
||||
|
||||
procedure TFavoritesDB.InternalUpdate(const AOrder:Integer;const AEnabled:Boolean;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo:String);
|
||||
procedure TFavoritesDB.InternalUpdate(const AOrder: Integer;
|
||||
const AEnabled: Boolean; const AWebsite, ALink, ATitle, ACurrentChapter,
|
||||
ADownloadedChapterList, ASaveTo: String; const ADateLastChecked,
|
||||
ADateLastUpdated: TDateTime);
|
||||
begin
|
||||
Connection.ExecuteDirect('UPDATE "favorites" SET ' +
|
||||
'"order"='+QuotedStr(AOrder)+', '+
|
||||
@ -82,12 +93,15 @@ begin
|
||||
'"title"='+QuotedStr(ATitle)+', '+
|
||||
'"currentchapter"='+QuotedStr(ACurrentChapter)+', '+
|
||||
'"downloadedchapterlist"='+QuotedStr(ADownloadedChapterList)+', '+
|
||||
'"saveto"='+QuotedStr(ASaveTo)+
|
||||
'"saveto"='+QuotedStr(ASaveTo)+', '+
|
||||
'"datelastchecked"='+QuotedStr(Adatelastchecked)+', '+
|
||||
'"datelastupdated"='+QuotedStr(Adatelastupdated)+
|
||||
' WHERE "websitelink"='+QuotedStr(LowerCase(AWebsite+ALink)));
|
||||
end;
|
||||
|
||||
procedure TFavoritesDB.InternalAdd(const AOrder:Integer;const AEnabled:Boolean;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo:String);
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo:String;
|
||||
const ADateAdded: TDateTime);
|
||||
begin
|
||||
Connection.ExecuteDirect('INSERT OR REPLACE INTO "favorites" (' +
|
||||
FieldsParams +
|
||||
@ -100,17 +114,21 @@ begin
|
||||
QuotedStr(ATitle) + ', ' +
|
||||
QuotedStr(ACurrentChapter) + ', ' +
|
||||
QuotedStr(ADownloadedChapterList) + ', ' +
|
||||
QuotedStr(ASaveTo) + ')');
|
||||
QuotedStr(ASaveTo) + ',' +
|
||||
QuotedStr(ADateAdded) + ',' +
|
||||
QuotedStr(ADateAdded) + ',' +
|
||||
QuotedStr(ADateAdded) + ')');
|
||||
end;
|
||||
|
||||
function TFavoritesDB.Add(const AOrder:Integer;const AEnabled:Boolean;
|
||||
const AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo:String):Boolean;
|
||||
function TFavoritesDB.Add(const AOrder: Integer; const AEnabled: Boolean;
|
||||
const AWebsite, ALink, ATitle, ACurrentChapter, ADownloadedChapterList,
|
||||
ASaveTo: String; const ADateAdded: TDateTime): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
if (AWebsite = '') or (ALink = '') then Exit;
|
||||
if not Connection.Connected then Exit;
|
||||
try
|
||||
InternalAdd(AOrder,AEnabled,AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo);
|
||||
InternalAdd(AOrder,AEnabled,AWebsite,ALink,ATitle,ACurrentChapter,ADownloadedChapterList,ASaveTo,ADateAdded);
|
||||
Result := True;
|
||||
Inc(FCommitCount);
|
||||
if FCommitCount >= FAutoCommitCount then
|
||||
|
@ -363,6 +363,9 @@ type
|
||||
Numbering,
|
||||
DownloadedChapterList,
|
||||
CurrentChapter: String;
|
||||
DateAdded,
|
||||
DateLastChecked,
|
||||
DateLastUpdated: TDateTime;
|
||||
end;
|
||||
|
||||
TCardinalList = specialize TFPGList<Cardinal>;
|
||||
|
@ -98,7 +98,6 @@ type
|
||||
function GetEnabledFavoritesCount: Integer; inline;
|
||||
function GetDisabledFavoritesCount: Integer; inline;
|
||||
function GetFavorite(const Index: Integer): TFavoriteContainer;
|
||||
function ConvertToDB: Boolean;
|
||||
public
|
||||
Items: TFavoriteContainers;
|
||||
TaskThread: TFavoriteTask;
|
||||
@ -125,8 +124,6 @@ type
|
||||
// Merge manga information with a title that already exist in favorites
|
||||
procedure AddMerge(const ATitle, ACurrentChapter, ADownloadedChapterList, AWebsite,
|
||||
ASaveTo, ALink: String);
|
||||
// Merge a favorites.ini with another favorites.ini
|
||||
procedure MergeWith(const APath: String);
|
||||
// Free then delete favorite without any check, use with caution
|
||||
procedure FreeAndDelete(const Pos: Integer); overload;
|
||||
procedure FreeAndDelete(const T: TFavoriteContainer); overload;
|
||||
@ -173,7 +170,7 @@ resourcestring
|
||||
implementation
|
||||
|
||||
uses
|
||||
frmMain, frmNewChapter, FMDVars;
|
||||
frmMain, frmNewChapter, FMDVars, DateUtils;
|
||||
|
||||
{ TFavoriteContainer }
|
||||
|
||||
@ -231,7 +228,8 @@ begin
|
||||
Title,
|
||||
CurrentChapter,
|
||||
DownloadedChapterList,
|
||||
SaveTo
|
||||
SaveTo,
|
||||
DateAdded
|
||||
);
|
||||
end;
|
||||
|
||||
@ -286,6 +284,13 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
if not Terminated then
|
||||
begin
|
||||
Container.FavoriteInfo.DateLastChecked := Now;
|
||||
if (NewMangaInfoChaptersPos.Count <> 0) or (NewMangaInfo.status = MangaInfo_StatusCompleted) then
|
||||
Container.FavoriteInfo.DateLastUpdated := Now;
|
||||
end;
|
||||
|
||||
// free unneeded objects
|
||||
if (NewMangaInfoChaptersPos.Count = 0) and
|
||||
(NewMangaInfo.status <> MangaInfo_StatusCompleted) then
|
||||
@ -653,42 +658,6 @@ begin
|
||||
Result := Items[Index];
|
||||
end;
|
||||
|
||||
function TFavoriteManager.ConvertToDB: Boolean;
|
||||
var
|
||||
i: Integer;
|
||||
s: String;
|
||||
begin
|
||||
Result := False;
|
||||
if not FileExistsUTF8(FAVORITES_FILE) then Exit;
|
||||
with TIniFile.Create(FAVORITES_FILE) do
|
||||
try
|
||||
i := ReadInteger('general', 'NumberOfFavorites', 0);
|
||||
if i > 0 then
|
||||
begin
|
||||
for i := 0 to i - 1 do
|
||||
begin
|
||||
s := IntToStr(i);
|
||||
FFavoritesDB.Add(
|
||||
i,
|
||||
True,
|
||||
ReadString(s, 'Website', ''),
|
||||
RemoveHostFromURL(ReadString(s, 'Link', '')),
|
||||
ReadString(s, 'Title', ''),
|
||||
ReadString(s, 'CurrentChapter', ''),
|
||||
GetParams(ReadString(s, 'DownloadedChapterList', '')),
|
||||
ReadString(s, 'SaveTo', '')
|
||||
);
|
||||
end;
|
||||
FFavoritesDB.Commit;
|
||||
end;
|
||||
Result := True;
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
if Result then
|
||||
Result := DeleteFileUTF8(FAVORITES_FILE);
|
||||
end;
|
||||
|
||||
constructor TFavoriteManager.Create;
|
||||
begin
|
||||
inherited Create;
|
||||
@ -698,7 +667,6 @@ begin
|
||||
Items := TFavoriteContainers.Create;;
|
||||
FFavoritesDB := TFavoritesDB.Create(FAVORITESDB_FILE);
|
||||
FFavoritesDB.Open;
|
||||
ConvertToDB;
|
||||
end;
|
||||
|
||||
destructor TFavoriteManager.Destroy;
|
||||
@ -919,6 +887,7 @@ begin
|
||||
DownloadInfo.Title := FavoriteInfo.Title;
|
||||
DownloadInfo.SaveTo := FavoriteInfo.SaveTo;
|
||||
DownloadInfo.DateAdded := Now;
|
||||
DownloadInfo.DateLastDownload := Now;
|
||||
|
||||
for j := 0 to NewMangaInfoChaptersPos.Count - 1 do
|
||||
begin
|
||||
@ -1044,6 +1013,9 @@ begin
|
||||
SaveTo := ASaveTo;
|
||||
Link := ALink;
|
||||
DownloadedChapterList := ADownloadedChapterList;
|
||||
DateAdded := Now;
|
||||
DateLastChecked := Now;
|
||||
DateLastUpdated := Now;
|
||||
end;
|
||||
Status := STATUS_IDLE;
|
||||
SaveToDB(newfv);
|
||||
@ -1079,50 +1051,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFavoriteManager.MergeWith(const APath: String);
|
||||
var
|
||||
mergeFile: TIniFile;
|
||||
fstream: TFileStreamUTF8;
|
||||
l, i: Cardinal;
|
||||
infos: array of TFavoriteInfo;
|
||||
begin
|
||||
if isRunning then
|
||||
Exit;
|
||||
if not FileExistsUTF8(APath) then
|
||||
Exit;
|
||||
isRunning := True;
|
||||
|
||||
fstream := TFileStreamUTF8.Create(APath, fmOpenRead);
|
||||
mergeFile := TIniFile.Create(fstream);
|
||||
try
|
||||
with mergeFile do begin
|
||||
l := mergeFile.ReadInteger('general', 'NumberOfFavorites', 0);
|
||||
if l > 0 then
|
||||
begin
|
||||
SetLength(infos, l);
|
||||
for i := 0 to l - 1 do
|
||||
with infos[i] do begin
|
||||
Title := ReadString(IntToStr(i), 'Title', '');
|
||||
currentChapter := ReadString(IntToStr(i), 'CurrentChapter', '0');
|
||||
downloadedChapterList := ReadString(IntToStr(i), 'DownloadedChapterList', '');
|
||||
Website := ReadString(IntToStr(i), 'Website', '');
|
||||
SaveTo := ReadString(IntToStr(i), 'SaveTo', '');
|
||||
Link := ReadString(IntToStr(i), 'Link', '');
|
||||
|
||||
AddMerge(Title, currentChapter, downloadedChapterList, Website, SaveTo, Link);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Sort(SortColumn);
|
||||
Backup;
|
||||
finally
|
||||
fStream.Free;
|
||||
mergeFile.Free;
|
||||
end;
|
||||
SetLength(infos, 0);
|
||||
isRunning := False;
|
||||
end;
|
||||
|
||||
procedure TFavoriteManager.FreeAndDelete(const Pos: Integer);
|
||||
begin
|
||||
with Items[Pos].FavoriteInfo do
|
||||
@ -1193,6 +1121,9 @@ begin
|
||||
FavoriteInfo.CurrentChapter := Fields[f_currentchapter].AsString;
|
||||
FavoriteInfo.DownloadedChapterList := Fields[f_downloadedchapterlist].AsString;
|
||||
FavoriteInfo.SaveTo := Fields[f_saveto].AsString;
|
||||
FavoriteInfo.DateAdded := Fields[f_dateadded].AsDateTime;
|
||||
FavoriteInfo.DateLastChecked := Fields[f_datelastchecked].AsDateTime;
|
||||
FavoriteInfo.DateLastUpdated := Fields[f_datelastupdated].AsDateTime;
|
||||
end;
|
||||
FFavoritesDB.Table.Next;
|
||||
end;
|
||||
@ -1214,7 +1145,17 @@ begin
|
||||
EnterCriticalsection(CS_Favorites);
|
||||
for i := 0 to Items.Count - 1 do
|
||||
with Items[i], FavoriteInfo do
|
||||
FFavoritesDB.InternalUpdate(i,FEnabled,Website,Link,Title,CurrentChapter,DownloadedChapterList,SaveTo);
|
||||
FFavoritesDB.InternalUpdate(
|
||||
i,
|
||||
FEnabled,
|
||||
Website,
|
||||
Link,
|
||||
Title,
|
||||
CurrentChapter,
|
||||
DownloadedChapterList,
|
||||
SaveTo,
|
||||
DateLastChecked,
|
||||
DateLastUpdated);
|
||||
FFavoritesDB.Commit;
|
||||
finally
|
||||
LeaveCriticalsection(CS_Favorites);
|
||||
@ -1256,11 +1197,33 @@ function CompareFavoriteContainer(const Item1, Item2: TFavoriteContainer): Integ
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetDateTime(ARow: TFavoriteContainer): TDateTime;
|
||||
begin
|
||||
with ARow.FavoriteInfo do
|
||||
case ARow.Manager.SortColumn of
|
||||
5: Result := DateAdded;
|
||||
6: Result := DateLastChecked;
|
||||
7: Result := DateLastUpdated;
|
||||
else
|
||||
Result := Now;
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
if Item1.Manager.SortDirection then
|
||||
Result := NaturalCompareStr(GetStr(Item2), GetStr(Item1))
|
||||
if (Item1.Manager.SortColumn >= 5) and (Item1.Manager.SortColumn <= 7) then
|
||||
begin
|
||||
if Item1.Manager.SortDirection then
|
||||
Result := CompareDateTime(GetDateTime(Item2), GetDateTime(Item1))
|
||||
else
|
||||
Result := CompareDateTime(GetDateTime(Item1), GetDateTime(Item2));
|
||||
end
|
||||
else
|
||||
Result := NaturalCompareStr(GetStr(Item1), GetStr(Item2));
|
||||
begin
|
||||
if Item1.Manager.SortDirection then
|
||||
Result := NaturalCompareStr(GetStr(Item2), GetStr(Item1))
|
||||
else
|
||||
Result := NaturalCompareStr(GetStr(Item1), GetStr(Item2));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFavoriteManager.Sort(const AColumn: Integer);
|
||||
|
@ -2344,6 +2344,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Speichern unter"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -2385,6 +2385,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Αποθήκευση σε"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -2306,7 +2306,6 @@ msgid "Save to"
|
||||
msgstr "Save to"
|
||||
|
||||
#: tmainform.vtdownload.header.columns[6].text
|
||||
#| msgid "Added"
|
||||
msgctxt "TMAINFORM.VTDOWNLOAD.HEADER.COLUMNS[6].TEXT"
|
||||
msgid "Date added"
|
||||
msgstr "Date added"
|
||||
@ -2338,6 +2337,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Save to"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr "Date added"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr "Last checked date"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr "Last updated date"
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -2341,6 +2341,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Guardar en"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -2418,6 +2418,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Répertoire d'enregistrement"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -1309,7 +1309,7 @@ msgstr "Shounen Ai"
|
||||
|
||||
#: tmainform.ckfiltershounenai.hint
|
||||
msgid "Often synonymous with yaoi, this can be thought of as somewhat less extreme. \"Boy''s Love\", so to speak"
|
||||
msgstr "Identik dengan yaoi, hanya agak kurang ekstrim. Bisa dikatakan \"Percintaan Antara Laki-laki\"."
|
||||
msgstr "Identik dengan yaoi, hanya agak kurang ekstrim. Bisa dikatakan \"Percintaan Antara Laki-laki\""
|
||||
|
||||
#: tmainform.ckfiltersliceoflife.caption
|
||||
msgid "Slice of Life"
|
||||
@ -2342,6 +2342,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Lokasi penyimpanan"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr "Waktu ditambahkan"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr "Waktu terakhir diperiksa"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr "Waktu terakhir diperbarui"
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "tnewchapter.btcancel.caption"
|
||||
msgid "&Cancel"
|
||||
@ -2554,7 +2567,7 @@ msgstr "Ditemukan %d bab baru"
|
||||
#: ufavoritesmanager.rs_favoritehasnewchapter
|
||||
#, object-pascal-format
|
||||
msgid "%s <%s> has %d new chapter(s)."
|
||||
msgstr "%s <%s> memiliki %d bab baru"
|
||||
msgstr "%s <%s> memiliki %d bab baru."
|
||||
|
||||
#: ufavoritesmanager.rs_lblmangawillberemoved
|
||||
msgid "Completed manga will be removed:"
|
||||
|
@ -2402,6 +2402,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Zapisz do"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -2190,6 +2190,7 @@ msgid "Save to"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtdownload.header.columns[6].text
|
||||
msgctxt "tmainform.vtdownload.header.columns[6].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
@ -2220,6 +2221,19 @@ msgctxt "tmainform.vtfavorites.header.columns[4].text"
|
||||
msgid "Save to"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "tnewchapter.btcancel.caption"
|
||||
msgid "&Cancel"
|
||||
|
@ -2340,6 +2340,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Salvar em"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -2340,6 +2340,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Сохранить в"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -2341,6 +2341,19 @@ msgctxt "TMAINFORM.VTFAVORITES.HEADER.COLUMNS[4].TEXT"
|
||||
msgid "Save to"
|
||||
msgstr "Şuraya kaydet"
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[5].text
|
||||
msgctxt "tmainform.vtfavorites.header.columns[5].text"
|
||||
msgid "Date added"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[6].text
|
||||
msgid "Last checked date"
|
||||
msgstr ""
|
||||
|
||||
#: tmainform.vtfavorites.header.columns[7].text
|
||||
msgid "Last updated date"
|
||||
msgstr ""
|
||||
|
||||
#: tnewchapter.btcancel.caption
|
||||
msgctxt "TNEWCHAPTER.BTCANCEL.CAPTION"
|
||||
msgid "&Cancel"
|
||||
|
@ -145,7 +145,7 @@ end;
|
||||
|
||||
procedure TImportFavorites.FMDHandle;
|
||||
begin
|
||||
FavoriteManager.MergeWith(CleanAndExpandDirectory(edPath.Text) + 'works/favorites.ini');
|
||||
// todo: legacy import
|
||||
|
||||
MessageDlg('', RS_ImportCompleted,
|
||||
mtConfirmation, [mbYes], 0)
|
||||
|
@ -2316,13 +2316,13 @@ object MainForm: TMainForm
|
||||
object tsFavorites: TTabSheet
|
||||
Caption = 'Favorites'
|
||||
ChildSizing.TopBottomSpacing = 4
|
||||
ClientHeight = 568
|
||||
ClientHeight = 598
|
||||
ClientWidth = 845
|
||||
object vtFavorites: TVirtualStringTree
|
||||
AnchorSideTop.Control = edFavoritesSearch
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 534
|
||||
Height = 564
|
||||
Top = 30
|
||||
Width = 845
|
||||
Align = alBottom
|
||||
@ -2360,6 +2360,18 @@ object MainForm: TMainForm
|
||||
Position = 4
|
||||
Text = 'Save to'
|
||||
Width = 200
|
||||
end
|
||||
item
|
||||
Position = 5
|
||||
Text = 'Date added'
|
||||
end
|
||||
item
|
||||
Position = 6
|
||||
Text = 'Last checked date'
|
||||
end
|
||||
item
|
||||
Position = 7
|
||||
Text = 'Last updated date'
|
||||
end>
|
||||
Header.DefaultHeight = 24
|
||||
Header.Height = 23
|
||||
|
@ -138,6 +138,9 @@
|
||||
{"hash":6579810,"name":"tmainform.vtfavorites.header.columns[2].text","sourcebytes":[67,117,114,114,101,110,116,32,99,104,97,112,116,101,114],"value":"Current chapter"},
|
||||
{"hash":230269173,"name":"tmainform.vtfavorites.header.columns[3].text","sourcebytes":[87,101,98,115,105,116,101],"value":"Website"},
|
||||
{"hash":160200703,"name":"tmainform.vtfavorites.header.columns[4].text","sourcebytes":[83,97,118,101,32,116,111],"value":"Save to"},
|
||||
{"hash":123929108,"name":"tmainform.vtfavorites.header.columns[5].text","sourcebytes":[68,97,116,101,32,97,100,100,101,100],"value":"Date added"},
|
||||
{"hash":229285077,"name":"tmainform.vtfavorites.header.columns[6].text","sourcebytes":[76,97,115,116,32,99,104,101,99,107,101,100,32,100,97,116,101],"value":"Last checked date"},
|
||||
{"hash":217221733,"name":"tmainform.vtfavorites.header.columns[7].text","sourcebytes":[76,97,115,116,32,117,112,100,97,116,101,100,32,100,97,116,101],"value":"Last updated date"},
|
||||
{"hash":154630084,"name":"tmainform.btfavoritesimport.caption","sourcebytes":[73,109,112,111,114,116,32,108,105,115,116],"value":"Import list"},
|
||||
{"hash":165778738,"name":"tmainform.btfavoriteschecknewchapter.caption","sourcebytes":[67,104,101,99,107,32,102,111,114,32,110,101,119,32,99,104,97,112,116,101,114],"value":"Check for new chapter"},
|
||||
{"hash":266084494,"name":"tmainform.edfavoritessearch.texthint","sourcebytes":[83,101,97,114,99,104,32,102,97,118,111,114,105,116,101,115,46,46,46],"value":"Search favorites..."},
|
||||
|
@ -4353,6 +4353,9 @@ begin
|
||||
2: CellText:=currentChapter;
|
||||
3: CellText:=website;
|
||||
4: CellText:=saveTo;
|
||||
5: CellText:=DateTimeToStr(DateAdded);
|
||||
6: CellText:=DateTimeToStr(DateLastChecked);
|
||||
7: CellText:=DateTimeToStr(DateLastUpdated);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user