MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Share your advanced PureBasic knowledge/code with the community.
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

This project (probably the most bug ridden that I have ever made, heheheh) is a total rewrite of my Keeper GSPOC project with lots more things that I needed and might have useful things in it for some people to tear out/apart. Or not.

It is a MHGSPOC project (More Hairy Great Steaming Pile Of Crap).

I did it all in PB 5.62 and then went on to PB 5.70 x32 so it should work with those okay.

Here is the link.

https://www.dropbox.com/s/l5iptp4ce8okv ... TA.7z?dl=0

Here is the function list below:
+--------------------+
Startup functions
+--------------------+

1 If you want to add somebody's name as a registered user just for the hell of it, pass the following string to the program at run time: /Register Firstname Lastname.

2 if you don't like the selection of category and owner name icons, feel free to get your own. Just keep the directory structure that I provided or change the code to suit your program flow.

+--------------------+
Miscellaneous items
+--------------------+

1 You can supposedly drag a title from the list to another category and that will update it to that new category. It worked last time I tried it:)

2 If you drag and drop a properly formatted text file onto the title area, it opens as a new record and the title and information are filled into the correct areas.It's the same rule as in "Import Item"

+--------------------+
Information.
+--------------------+

1 I could never get proper DPI scaling to work on Windows 10 and as that is the only O/S that I have, I have given up. If you can get the entire program to work somehow with DPI, please do so. I am too tired to fight with this any more. After 4 and a half years of the pain and frustration of the Windows Insider program, I have quit and just stopped fighting it.

2 I am also too damned tired and hot to learn how to use threads and speed up the display. I am getting older and tireder, my eyesight isn't what it used to be and it's time for someone else to do this if they care to.

3 I can't remember what bugs there are and what else has to be done. Someone can maybe fill me in.

+--------------------+
License
+--------------------+

Free. Do what you want with it except sell it, I don't care. The community has helped me out for years so I have tried to contribute for years.

+--------------------+
Files menu
+--------------------+

Backup database

Backup the current live database to the backup directory with an extensiona dded on that is the day of the week.

Convert database

Convert and import an old Keeper database into Myinfo. No table checking is done, it is assumed the user didn't rename anything. Duplicates are ignored by title, information and category. All 3 must be unique. Duplicates cans till occur however due to the user making constant changes to existing records that may differ in an older database that is no longer being used but imported nonetheless.

Export database

Export the current database to Text and XML files on disk in the backup directory. Csv files cannot be added to to the complicated nature of textual information.

Import database

Import an XML database from disk. Due to the nature and formatting of text files, this format is currently not supported for import.

Open a database

Open someone else's MyInfo database. Any missing tables will be created and retained when this database is closed by re-openning another one.

Vacuum database

Clean the database of all entries that are currently marked as Deleted. This is similar to using the Kill function but goes through the entire database at once. This process is irreversible.

Exit program

Do I really have to tell you what this function does?? Really?

+--------------------+
Categories menu
+--------------------+

Add category

Add a new category with user icon to the categories list

Copy category

Copy the selected category to the system clipboard.

Delete category

Delete the selected category. When you do this, the records in Myinfo that belong to this category will be assigned to an empty string.

Edit category

Edit the selected category and the user icon attached to it. When you do this, the records that belonged to this category will have their categories updated.

Export categories

Export all the categories except the inbuilt ones to a text file no disk.

Import categories

Import a list of categories from disk and add them to the list. Duplicate entries will be prevented.

Synch categories

In case some categories are showing incorrect record count next to them due to programmer error, this can synchronise the count.

+--------------------+
Data menu
+--------------------+

Add item

Add a new entry to the MyInfo database.

Archive item

Send the selected record to the archive table. This feature is undergoing development.

Attach item

Attach a document, file or picture to the current record. There is no limit to the number of attachments that you cat have per record. This feature is undergoing development.

Copy item

Copy the currentlys elected item to the system clipboard.

Delete item

Mark the currently selected item as deleted. It is not removed permanently unless you invoke the Vacuum option.

Edit item

Edit the currently selected item.

Export item

Export the currently selected item to disk.

Favourite item

Mark the currently selected item as one of your favourites. Doing so will make it more easily identifiable.

Import item

Import a correctly formatted text file from disk as a new record. Only title and information are to be included in this text file and both items are separated by the vertical bar "|"

Kill item

Permanently kill the selected item from the database. This is permanent and irreversible.

Lock item

Lock the currently selected item to prevent changes and deletions.

Merge items

Merge multiple selected records into a new record. Each record title is appended to the new record title so that you can select which one you want to keep. Each information item is put into the editor field separated by a marker line. You will be warned if a record is locked or deleted so you know they will not be processed. You will be asked if you wish to mark each record being merged as deleted as they are being processsed.


Print item

Print multiple selected items with preview.

Scan item

Attach a document by using your connected scanner. The saved document will be a PDF format file. You will be asked where to save the document file after which it will be available as a copy.

+--------------------+
Utilities menu
+--------------------+

Advanced search

Search the database records using some more precise SQL techniques that standard search does not address.

Select all items

Select all items currently visible in the list for operations that support this.

Owner management

Manage the list of available owner names and their associated icons.

Edit password

Edit the password that is currently used to lock the program.

Lock program

Lock the program to the system tray with a program name and version number.

Change font

Change the program interface font. This feature is currenyly unavailable.

+--------------------+
Options menu
+--------------------+

Balloon tooltips

Turn the program balloon tooltips on or off.

Balloon colour

Change the program ballon colours from light grey to standard white.

Colour band

Turn alternate row colour banding on or off.

Hide detail

Hide the record detail pane with asterisks to prevent casual browsers.

Save messages

Turn on messages popping up after records are saved.

Show toolbar

Show or hide the program toolbar.

Screen snap

Snap the program window to the monitor borders.

Sticky window

Make the program stay on top of all other windows.

Title clock

Turn on or off the titlebar clock and date display.

+--------------------+
Help menu
+--------------------+

About program

Show a brief bit of information about the program.

Keyboard shortcuts

Show a list of keoboard shortcuts and their associated icons.

Program help

Show a page of help for the current window being displayed. Each program window has their own help file that can be created and edited from within the program or created by an RTF capable text editor complete with colours and fonts. THe inbuilt help display mechanism does not support RTF editong but will display them. When you open a particular program window and select the help function for that window, a default help file is created if not exists that will also give you a clue as to where it belongs by the file name.

View log

View the system error log file. If I got this right, thi should contain a lot of messages as standard warnings are also added to this file along with errors.
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

Just uploaded the current beta of MyInfo. Full project (all source code, resources and compiled executable) are included.

I just spent 3 hours reworking the log viewer because it was full or errors itself and sucked dingo balls. And now that it works properly, logs can be sent to me and mean something.
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

Still to do and will need help with some (probably all, hehehhe)

1. Redo the program wide font change capability. Not working properly last time. (Requested)
2. Let users change their own form colours. (Requested)
3. Implement an auto locking mechanism. Will need help with that.
4. Add an online update checking mechanism.

5. One thing I just fixed was to randomly generate different balloon tooltip colours from a pallette of 11 visible ones when the user asked for this but I will probably change this to a requester in the future and allow the answer to be stored in the database along with the other options.

I do check if there is a black background randomly selected and dump it:):)

6. The.Weavster just gave me a great example of how to dump the database to json (I had no idea) so this will make it into the database export section where XML and text files are currently exported.

7. The random password generate requested by a friend of mine has been added but I haven't heard any feedback from him if it was done right so I haven't released the update yet.

8. One day, blow windows 10 up and have the dpi issues fixed permanently. The way it rescales things is just bizarre.

All of the techniques in MyInfo will make it into all my programs so that people can take any of them and rip their guts out for themselves.
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

A ton of things have been added and loads of bug fixes. There are still a lot of backend things to be done but the project is useable so go for it if you want to.

Same link as before.

Any testing and feedback would be appreciated because I don't know what I am doing (Unless goats are involved). Any whining can be to srod's shamefully abused goat collection and Dude's diseased gopher on a spit collection. (heheheh).

Dude, I didn't know some of those positions were possible!! Gasp!
Amateur Radio, D-STAR/VK3HAF
User avatar
Bisonte
Addict
Addict
Posts: 1226
Joined: Tue Oct 09, 2007 2:15 am

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Bisonte »

Fangbeast wrote:Same link as before.
Sorry... Link is not avaible anymore...
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
English is not my native language... (I often use DeepL to translate my texts.)
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

Bisonte wrote:
Fangbeast wrote:Same link as before.
Sorry... Link is not avaible anymore...
Drat, drat and drat. Dropbox mus kill a link after a time.
Does

https://www.dropbox.com/sh/qjrsw33plpcl ... czDDa?dl=0

This one work for all my apps?
Amateur Radio, D-STAR/VK3HAF
User avatar
Bisonte
Addict
Addict
Posts: 1226
Joined: Tue Oct 09, 2007 2:15 am

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Bisonte »

https://www.dropbox.com/sh/qjrsw33plpcl ... czDDa?dl=0

This one work for all my apps?
right now :mrgreen: thx.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
English is not my native language... (I often use DeepL to translate my texts.)
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

Bisonte wrote:
https://www.dropbox.com/sh/qjrsw33plpcl ... czDDa?dl=0

This one work for all my apps?
right now :mrgreen: thx.
Whew!! I blame Dude's goats (The ones he stole from srod). Idle got sick of trying to get them back from srod so Dude can now steal them with impunity!

Back from shopping, smoke everywhere. 17 or more fires burning uncontrollably through the state. Was going to work outside but it's a bit hard to breathe.
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

1 Thanks to TI-994a, the random inactivity timer (Lock application to tray) is finally fixed. Very useful to some of us who walk away and leave sensitive information open on the screen!!!

Still acts a bit weird under Windows 10 insider edition.

2 Much of the code has been cleaned up, procedures relocated under their correct section. More procedure references cleaned up for when you hover over buttons ect.

3 Online update and colour changes have been disabled until I actually put them in (I suspect form colours will give me a lot of trouble).

4 The balloon tooltip colours have been made to work again but there are still strange situations when a black background is produced (huh????) even though black isn't in the array of available colours????

Same link as before.

P.s. I've included MK-Soft's _MK_ScaleGagdets.pbi and if some kind soul could apply it to make this steaming pile of crap scale properly, I would be eternally grateful and steal Srod's and Idle's shamefully mutated goats for you.
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: MyInfo Beta MHGSPOC (total rewrite of Keeper project)

Post by Fangbeast »

New perversion. Here is the full changelog. Added some things since last night and still have things I need in the future. Hope somebody has a use for it and some feedback other than: "Go away, you're an ugly git, stop stealing Idle's sheep"

Upload was done a couple of minutes ago.
21/03/2019

Changed: Remove leftover editlog code from the save data routine. Don't need it, forgot it was there.
Changed: Reordered all the declarations to match the order of includefiles, added some missing ones.
Changed: Removed borders from all gadgets on the front form. Easy for you to change if you don't like it.
Changed: Most preferences are saved in their respective procedures instead of the huge dump at program end.
Changed: Main form is hidden while asking for startup password.
Changed: Minor but..search record limit is saved when it happens and not the end of the program.
Changed: Message queue priority for various toggles was changed because they didn't always make it into the log.
Changed: Fixed some icon missing messages for comboboxes to better reflect the problem reported in the log.
Changed: Most routines get the category name directly from the database instead of complicated string routines. Less chance of errors.

Fixed: All balloon font colours are now changed in real time.
Fixed: Toolbar is now properly hidden or shown.
Fixed: All fonts are now properly changed when selected but Windows 10 still sometimes has glitches with this.
Fixed: Some messages for procedures were duplicated onto other procedures instead of their own.
Fixed: Crash in EditCategory because font enumeration was running before the window was open.
Fixed: After adding a category, icon was wrong until program restart. SortCategoryEntries didn't set the icons.

Added: The ability to save attachments into the JSON code courtesy of TheWeavester. Hope I did it right.
Added: The ability to select the level of logging you want MyInfo to output. Gui front end.
Added: Save and restore the last category displayed in MyInfo
Added: Text database export also saves the attachments now as base64 encoded text.
Added: Log level form shortcuts to keyboard shortcuts list.
Added: When a category is highlighted, Add new record selects that as the default category.
Added: Address book and home inventory icon as I tend to add my info here instead of dedicated software.
Added: Itemtype field to record form as I will add extended form editing to address and inventory items eventually. (Maybe?)
Added: Extra 'debug' field for coders to include their own temporary info in the logs instead of in-your-face debug (SetInfoBarArea)

14/01/2019

Added: Add toggle switch to keep balloon tooltip background standard or random. Main form cannot be changed except at startup.
Added: Import older Keeper databases into MyInfo, adding everything except duplicates.
Added: Import non duplicate categories from Keeper databases. Icon names are not kept as icon store for Keeper may be located elsewhere.
Added: Import non duplicate owners from Keeper databases. Icon names are not kept as icon store for Keeper may be located elsewhere.

FixMe: Toolbar is still being hidden on restart even though the options has been set to show.

ToDo: Allow balloon tooltip colours to be changed in real time on the main form.
ToDo: Give users the ability to change to their own fonts? (Didn't always work right before)
ToDo: Fix the forms greying out on the conversion list. Can't get threading right.
ToDo: Allow other MyInfo databases to be imported in addition to Old keeper ones.
ToDo: When attaching databases, determine type by available tables and branch accordingly.
ToDo: During Export, make sure XML, CSV, Text AND sqlite export files are created at the same time.

04/01/2019

Fixed: Left behind a strange message about stuffing ducks. Don't remember why.
Fixed: ReadOnly|WordWrap missing from scan window document name.
Fixed: Balloon tooltip toggle shortcut assigned to colour banding somehow.
Fixed: Search button wasn't enabled as hoverable on Add or Edit data screens.
Fixed: Help and search buttons got accidentally swapped around. Help should always go last.

Added: Aquire document from scanner to attach to a record.
Added: Added a choice to cancel multiple attachments from storage.
Added: Warn level events are also logged now.
Added: My copy of the code uses random colours for the balloon tooltips each time a procedure is called. A toggle switch will be available to keep this standard.

Changed: Redundant word "password" from Keeper changed to just "information"
Changed: Turning off colour banding changes it in real time now. (Not right yet)
Changed: Colour band colours are less harsh now. (Friend suggestion)

ToDo: Add toggle switch to keep balloon tooltip background standard or random. Main form cannot be changed except at startup.
ToDo: Give users the ability to change to their own fonts? (Didn't always work right before)

31/12/2018

Fixed: Completely and utterly forgot to show the changed toggles of the popup menu items!
Fixed: One menu item was not spelled correctly so it didn't show.

21/12/2018

Fixed: Attachment update count was still not working. Took forever to find out the problem.
Fixed: All search cues change to ghostly text when the cue is up, normal text and font when typing in them.

Changed: All message requesters are massaged for the bigger fonts. (EBS)

Added: Added ability to open other database other than the default one.
Added: Search box cues added to all of search string areas.

ToDo: Somehow fix Windows 10 DPI scaling still not working!!

20/12/2018

Fixed: Focus not set to password field when unlocked from tray. Windows bug.
Fixed: Blob variable for attachment was set to a previous program I copied it from.
Fixed: Blob variable for attachment copied entire file size instead of compressed buffer.

Changed: ALL tables and records use Recordid instead of Record. Oh boy, did that cause problems.
Changed: More SQL queries and updates have had the heck formatted out of them to make it easier for me to read them.

Added: Drag and drop text file with required data to the titles list to add a new record. Delimiter between fields is double backslash "//"

16/12/2018

Fixed: New record not saved as one table field was misspelled.
Fixed: Save record message was sent to the wrong routine (I am tired, so sue me)

Added: New users will be warned to create categories and owners
Added: Thanks to EBS, message requesters will show bigger fonts

Changed: Save record message turned on by default for picky people

ToDo: All message requesters will be massaged shortly for the bigger fonts
Amateur Radio, D-STAR/VK3HAF
Post Reply