Christian T. Jacobs
b29eebe0b4
Convert from dict_keys to list.
2016-05-28 16:24:37 +01:00
Christian T. Jacobs
9ddaa56b73
Make this option clearer.
2016-05-28 14:19:19 +01:00
Christian T. Jacobs
8b5ea87b79
Flake8 fixes.
2016-01-27 18:15:06 +00:00
Christian T. Jacobs
c993704e84
Make the code pep8 compliant, using the autopep8 tool. Note that we are ignoring the following: E501,F403,E226,E402,W503.
2016-01-27 16:23:09 +00:00
Christian Jacobs
1c47846289
Keep the 'Add Record' dialog open after adding a new QSO, if the user wants this.
2016-01-24 21:29:35 +00:00
Christian Jacobs
98f27a36e2
Collect contacts together by month in the bar chart.
2016-01-24 16:48:10 +00:00
Christian Jacobs
6de0a1f451
Change to have_matplotlib.
2016-01-24 15:33:15 +00:00
Christian Jacobs
56b476e66d
Only try to plot statistics if the necessary matplotlib module exists.
2016-01-24 15:31:15 +00:00
Christian Jacobs
23a325367c
Handle unspecified modes.
2016-01-24 15:22:33 +00:00
Christian Jacobs
cc436c4a42
Handle empty logs.
2016-01-24 15:19:51 +00:00
Christian Jacobs
f03f31c65b
Hook the statistics up to the preferences.
2016-01-24 15:12:14 +00:00
Christian Jacobs
c610b9f13e
Only show the progress up to the end of the current month.
2016-01-24 15:05:02 +00:00
Christian Jacobs
76f038a39b
Replot statistics for a user-specified year.
2016-01-24 14:50:42 +00:00
Christian Jacobs
a5f4d80654
Only perform one SQL query.
2016-01-24 02:08:40 +00:00
Christian Jacobs
608007d616
Add a combo box to select which year we want PyQSO to generate statistics for.
2016-01-24 02:03:48 +00:00
Christian Jacobs
3d40955b36
Make the statistics an option in the Preferences.
2016-01-23 00:26:55 +00:00
Christian Jacobs
524c6a0054
Use matplotlib.dates to do the plotting of the QSO count.
2016-01-22 20:36:50 +00:00
Christian Jacobs
b9ce2153de
Started to add graphs to the Summary page of the logbook.
2016-01-11 19:29:42 +00:00
Christian Jacobs
07274c6f60
Use gtk3cairo backend.
2016-01-11 19:29:34 +00:00
Christian Jacobs
7d941ce2fe
Write configuration files to ~/.config to keep the user's home directory uncluttered.
2015-11-29 22:25:41 +00:00
Christian Jacobs
2a66389dc3
Store the bookmarks file path in BOOKMARKS_FILE.
2015-11-28 16:55:28 +00:00
Christian Jacobs
efbc51d6bf
Use "label=" in MenuItem to avoid deprecation warnings.
2015-11-28 16:42:43 +00:00
Christian Jacobs
d6588c5761
Implement bookmarking.
2015-11-28 16:41:23 +00:00
Christian Jacobs
362c9fa5e5
Split up the "Connect" menu into "New..." and "From Bookmark".
2015-11-28 14:53:33 +00:00
Christian Jacobs
e1e4784a07
Let's call this the command box instead.
2015-11-28 14:42:57 +00:00
Christian Jacobs
6f7d15cb33
Use a MenuBar instead of a row of buttons in the DX cluster tool.
2015-11-28 14:36:18 +00:00
Christian Jacobs
4164977747
If there is an encoding error when writing/reading a character to/from an ADIF file, then replace the character with a replacement marker.
2015-11-23 20:22:35 +00:00
Christian Jacobs
8a70fbc369
Unit tests for the DXCluster class.
2015-11-22 23:04:02 +00:00
Christian Jacobs
05664b4f04
Moar docstrings.
2015-11-22 23:03:48 +00:00
Christian Jacobs
ea8777841a
Added more unit tests for qrz.com and hamqth.com lookups.
2015-11-22 21:54:20 +00:00
Christian Jacobs
f9fdc32891
Fixed Telnet DX cluster functionality following the move to Python 3. This involved encoding/decoding from str/bytes.
2015-11-22 01:16:08 +00:00
Christian Jacobs
2fcdc4833c
Remove old print statement.
2015-11-22 00:50:51 +00:00
Christian Jacobs
dcd94634e8
Remove the deprecated_mode method.
2015-11-22 00:50:29 +00:00
Christian Jacobs
4b1f83eeef
Comment updates.
2015-11-22 00:46:56 +00:00
Christian Jacobs
905c352af0
Included deprecated MODE values, and included the 630m band in the BANDS list.
...
Also bumped the ADIF version to 3.0.4.
2015-11-22 00:39:06 +00:00
Christian Jacobs
e957ae5864
Fixes following the move to Python 3. Also added a default Submode field in the Preferences dialog.
2015-11-17 01:03:59 +00:00
Christian Jacobs
ef9ca21ccb
Add a Submode field to the Record dialog.
2015-11-17 01:03:50 +00:00
Christian Jacobs
de01ceefdf
Added empty strings to the tuples containing the SUBMODES. Also added a method to 'update' a deprecated mode.
2015-11-17 01:02:11 +00:00
Christian Jacobs
07954c18a8
Updated the list of MODES and their corresponding SUBMODES. Note that this list is now actually a dictionary - see the comment.
2015-11-16 21:26:14 +00:00
njohnsn
fc94c8d511
Convert to Python 3 using 2to3.
...
Also update Travis CI settings for Python 3, add new package dependencies and update the documentation.
2015-11-05 00:23:19 +00:00
Christian Jacobs
ce900209b0
Generalise the callsign lookup button and documentation, since PyQSO now also supports hamqth.com.
2015-10-04 00:52:53 +01:00
Christian Jacobs
165edd5023
Bumped the version number to 0.3(-dev).
2015-10-04 00:32:00 +01:00
Christian Jacobs
45abb28e38
Improved docstrings.
2015-10-04 00:16:55 +01:00
Christian Jacobs
bf26af984d
Merge pull request #32 from dnet/cleanup2015930
...
Cleanup
2015-10-01 18:37:38 +01:00
Christian Jacobs
794d999587
lastrowid only gets set *after* issuing an INSERT statement, but PyQSO needs the index of the last row beforehand. Therefore, determine the index of the last row using a SELECT statement instead.
2015-10-01 18:27:11 +01:00
András Veres-Szentkirályi
7d8b702bce
auxiliary_dialogs: extracted common dialog code
2015-09-30 12:03:07 +02:00
András Veres-Szentkirályi
e92c294dd4
use datetime.strftime instead of manual formatting
2015-09-30 11:53:40 +02:00
András Veres-Szentkirályi
9094d197e9
simplified increment syntax
2015-09-30 11:48:44 +02:00
András Veres-Szentkirályi
5054c99e7c
simplified logbook loading
2015-09-30 11:43:49 +02:00
András Veres-Szentkirályi
3f9434cd2e
removed unread variables
2015-09-30 10:57:11 +02:00
András Veres-Szentkirályi
500ca5977a
removed unused imports
2015-09-30 10:56:56 +02:00
Christian Jacobs
37685c9a4c
When calling add_record with multiple records in a list, insert all the records in one go using executemany.
...
This seems to bring a significant performance benefit, and addresses issue #29 .
2015-08-12 00:58:00 +01:00
Christian Jacobs
c6002fbd7d
Match *.ADI files too.
2015-08-11 17:31:51 +01:00
Christian Jacobs
819a6a0e47
Another debug statement involving the merging of the COMMENT and NOTES fields.
2015-05-04 23:14:27 +01:00
Christian Jacobs
c1d4333662
Compile the regular expression before using it in the loop over tokens.
2015-05-04 23:11:03 +01:00
Christian Jacobs
5e1376eddb
Merge the COMMENT field with the NOTES field, if desired and applicable.
2015-05-04 23:00:42 +01:00
Christian Jacobs
dc32c2c23d
Add an ADIF tab to the Preferences dialog.
2015-04-29 22:45:58 +01:00
Christian Jacobs
7529accdeb
Change logging level to warning here.
2015-04-29 21:53:54 +01:00
Christian Jacobs
6a90e9a0bd
Change logging level to warning here.
2015-04-29 21:52:18 +01:00
Christian Jacobs
160aa2133d
Corrected a typo in a comment.
2015-04-29 16:07:36 +01:00
Christian Jacobs
a8083630c7
Look for the 'search' node instead of a 'callsign' node.
2015-04-29 15:59:23 +01:00
Christian Jacobs
3002f2439e
Support for callsign lookups using the HamQTH.com database.
2015-04-28 23:04:03 +01:00
Christian Jacobs
1fdfc428a7
More helpful info messages.
2015-04-14 22:09:53 +01:00
Christian Jacobs
2c5b7d9c55
If the GreyLine dependencies are not satisfied, print a warning rather than an error message.
2015-04-14 21:33:18 +01:00
Christian Jacobs
edbc9ebdec
Add more debugging statements when importing the GreyLine dependencies.
2015-04-14 21:32:42 +01:00
Christian Jacobs
233b996784
Include the total number of QSOs in the Summary page. Addresses issue #23 .
2015-04-02 08:57:27 +01:00
Christian Jacobs
3945834450
Display a more helpful error message if the logs fail to load properly.
2015-03-06 23:45:27 +00:00
Christian Jacobs
f9b97a6b26
Remove the unnecessary "File:" lines at the top of each .py file.
2015-03-06 23:35:14 +00:00
Christian Jacobs
3cc4f83a22
Added my middle initial.
2015-03-06 23:31:46 +00:00
Christian Jacobs
45cf8fddff
Bug fix for the IGNORE_PREFIX_SUFFIX option. The data type that is read in is a string.
2015-03-06 22:33:46 +00:00
Christian Jacobs
94de94c975
Handle any exceptions raised when connecting to the server.
2015-03-03 15:27:32 +00:00
Christian Jacobs
b5f72e2ede
Fixed the error handling when looking up a callsign that does not have an entry on qrz.com.
2015-03-03 14:31:51 +00:00
Christian Jacobs
209354fcf3
Corrected the indentation of a comment line.
2015-03-01 22:03:43 +00:00
Christian Jacobs
7b3c2634aa
Move the code which locates duplicate records into a new method called 'get_duplicates'.
...
Also added a unit test for this new method.
2015-03-01 21:55:24 +00:00
Christian Jacobs
2bc2ee190d
Improve an error message in the GreyLine module.
2015-03-01 14:50:47 +00:00
Christian Jacobs
e63184fec8
Temporarily use 'print' instead.
2015-03-01 14:39:24 +00:00
Christian Jacobs
1b9eea5aa6
Print out the matplotlib version in use.
2015-03-01 14:36:27 +00:00
Christian Jacobs
3c5f9ecf43
Print the exception message.
2015-03-01 14:28:47 +00:00
Christian Jacobs
dca3ed118c
Added unit tests for the Logbook class.
2015-03-01 14:21:18 +00:00
Christian Jacobs
c4924447c6
Added some unit tests for the CallsignLookup class.
2015-02-28 23:05:04 +00:00
Christian Jacobs
861c5c4821
Rename "TX RST" and "RX RST" to "RST Sent" and "RST Received" in the record dialog.
2015-02-28 19:48:10 +00:00
Christian Jacobs
6781c30be1
Handle UnicodeDecodeError exceptions.
2015-02-28 16:19:52 +00:00
Christian Jacobs
db514158ac
More unit tests and docstrings for the ADIF module.
2015-02-27 08:39:09 +00:00
Christian Jacobs
99724ae10e
Handle the case where the user tries to add/edit/delete a record, but the Summary page is selected.
2015-02-16 10:39:16 +00:00
Christian Jacobs
90e2941ee0
Add titles to the auxiliary dialogs.
2015-02-16 10:36:04 +00:00
Christian Jacobs
2d0e33ceb7
Perform extra passes to ensure that all duplicate records are removed. There might be a better way to do this.
2015-02-08 20:05:15 +00:00
Christian Jacobs
c5160967fa
\Z was matching literal 'Z' characters, even when double-escaped, when importing ADIF records. Not quite sure what's going on there, but I don't think the \Z is necessary anyway, so let's remove it.
2015-02-08 17:11:11 +00:00
Christian Jacobs
0f1bffc5ea
Bump the version to 0.2 in preparation for release.
2015-02-08 15:54:37 +00:00
Christian Jacobs
f49ac8738e
Make the path to the test.db file relative to the adif.py file.
2015-02-08 13:47:24 +00:00
Christian Jacobs
eaefff86c0
Allow default values for power and mode, but remove the work-in-progress for the default frequency unit.
2015-02-08 01:09:05 +00:00
Christian Jacobs
2c5c046a7a
Clear the contents of the file, in case the file exists already.
2015-02-07 21:44:34 +00:00
Christian Jacobs
69d1a95f51
Docstrings and comments.
2015-02-07 21:28:55 +00:00
Christian Jacobs
d428fc7953
Use set_do_overwrite_confirmation(True), rather than handling the confirm-overwrite signal ourselves.
2015-02-07 21:25:06 +00:00
Christian Jacobs
e6e8570c1b
Separate the Create and Open functionality for logbooks. Addresses issue #20 .
...
The menu and toolbar now have separate "Create Logbook" and "Open Logbook" buttons.
2015-02-07 21:22:16 +00:00
Christian Jacobs
4c28af97c0
Specify the Agg backend for matplotlib. Fixes issue #21 .
2015-02-06 23:52:09 +00:00
Paride Legovini
9473318e9a
Fix creation of empty GtkTreeModel
2014-05-18 10:17:09 +08:00
Christian Jacobs
1e5744568a
Added a button next to the "Time" field in the records dialog to insert the current date and time.
2014-05-13 18:20:39 +01:00
Christian Jacobs
81b746133e
Merge the two 'if' statements.
2014-05-13 16:38:48 +01:00
Christian Jacobs
9400aca4d7
Also force all callsigns to be in upper case when imported from an ADIF file.
2014-05-13 16:36:12 +01:00
Christian Jacobs
8a6824ced7
Always show the callsigns in upper case.
2014-05-13 16:28:30 +01:00
Christian Jacobs
7f6e5e7a62
Added the option of removing any prefixes or suffixes from the full_callsign.
...
Also moved the QRZ.com login details frame to the Records tab.
2014-05-13 16:27:31 +01:00
Christian Jacobs
42d6130d0e
Handle 'configuration option not found' exceptions.
2014-03-31 10:44:46 +01:00
Christian Jacobs
af9a283849
Don't use the callsign's length.
2014-03-31 00:58:21 +01:00
Christian Jacobs
2977dad8ab
Updated some comments.
2014-03-27 10:12:58 +00:00
Christian Jacobs
6dada62d28
Added the option to choose the default unit of frequency. Not fully implemented yet.
2014-03-27 10:09:38 +00:00
Christian Jacobs
65bd7175fb
Removing any prefixes and/or suffixes (e.g. "/M" or "/P") from the callsign before performing a lookup.
2014-03-27 10:08:46 +00:00
Christian Jacobs
0743093f24
Give users the option of using UTC when the Date and Time fields are automatically completed.
2014-03-24 03:06:47 +00:00
Christian Jacobs
8f2017c6ef
Small updates to some comments.
2014-03-23 17:19:48 +00:00
Christian Jacobs
5676a86e11
Improved error handling.
2014-03-23 17:17:59 +00:00
Christian Jacobs
f187fe7fa4
Using the frequency ranges in the ADIF specification to determine the band, instead of the previous approach (using the band which was closest to the calculated wave length).
2014-03-23 17:11:11 +00:00
Christian Jacobs
ed68b63108
Small improvements to the autocomplete_band code.
2014-03-23 02:43:11 +00:00
Christian Jacobs
e143483f72
Added the option to autocomplete the Band field.
2014-03-23 01:54:24 +00:00
Christian Jacobs
4f70af2985
Added a function to autocomplete the Band field based on the Frequency field.
2014-03-23 01:24:45 +00:00
Christian Jacobs
2913b813d5
Move to version 0.2a-dev.
2014-03-22 22:05:08 +00:00
Christian Jacobs
fc22b91c63
Changed the length of the programversion field.
2014-03-22 21:18:26 +00:00
Christian Jacobs
8df7019ad9
Move to version 0.1.
...
The main changes since v0.1b are:
- The ADIF export functionality has been fixed. Previously, only markers were being written and the actual record data was being skipped.
- The BEL character has been removed from the data received from the DX cluster.
- The 'Notes' column is no longer automatically resized.
- QSOs can now be sorted in the correct chronological order.
2014-03-22 21:07:35 +00:00
Christian Jacobs
20baf53720
Get the number of characters using len(str(ADIF_VERSION)), rather than hard-coding it.
2014-03-22 21:05:14 +00:00
Christian Jacobs
d7e8e301e1
In the ADIF unit test: Close the connection once finished.
2014-03-22 20:59:00 +00:00
Christian Jacobs
a39e1759e3
Added a unit test for the ADIF functionality that uses an sqlite3.Row object.
2014-03-22 20:57:05 +00:00
Christian Jacobs
8a09ed798c
Include the valid ADIF file extensions as well as an "All Files" option in the 'Import Log' and 'Export Log' dialogs.
2014-03-01 18:39:23 +00:00
Christian Jacobs
40bc5aa187
If the field being sorted is the QSO_DATE, then also sort by the TIME_ON field so we get the correct chronological order.
2014-03-01 18:06:50 +00:00
Christian Jacobs
a13ffd747f
Bug fix: Use the 'keys' method to get the available column names in the record.
2014-02-16 21:47:51 +00:00
Christian Jacobs
0388577dcd
Uncomment the line that removes the BEL character(s) from the end of the string received from the Telnet server.
2014-02-05 01:19:08 +00:00
Christian Jacobs
aca64cc2c7
Set the sizing property of the 'Notes' column to 'Gtk.TreeViewColumnSizing.FIXED'. This resolves issue #1 .
2014-02-05 00:53:16 +00:00
Christian Jacobs
9e55df40ce
Remove an old print statement.
2013-10-04 22:58:42 +01:00
Christian Jacobs
62f952712e
Bug fix for the calendar widget: add 1 onto the 'month' integer if (month + 1) >= 10.
2013-10-04 22:47:05 +01:00
Christian Jacobs
bb177677df
Moving PyQSO from version 0.1a to version 0.1b.
2013-10-04 20:03:05 +01:00
Christian Jacobs
0310984f56
Added links to the ADIF and DXCC websites.
2013-10-04 19:59:11 +01:00
Christian Jacobs
4afdbeb2e0
- Set bin/pyqso to +x
...
- Updated a module path.
2013-10-03 18:12:48 +01:00
Christian Jacobs
c5d4d0173f
More improvements to the manual.
2013-10-01 22:18:50 +01:00
Christian Jacobs
5c99387b40
More error handling.
2013-10-01 21:23:37 +01:00
Christian Jacobs
ebc6d767aa
More error handling.
2013-10-01 21:20:15 +01:00
Christian Jacobs
5eca6d4e68
More error handling and manual improvements.
2013-10-01 21:14:01 +01:00
Christian Jacobs
7396e895ac
Handle the case where there is an IOError or OSError.
2013-09-30 18:16:06 +01:00
Christian Jacobs
99ab2c3924
Added IndexError to the except line.
2013-09-30 17:52:01 +01:00
Christian Jacobs
18de3ce518
Removed an old print statement.
2013-09-30 17:03:08 +01:00
Christian Jacobs
a3c3552f14
Using 'with' statements to deal with database commits and rollbacks.
2013-09-30 16:56:11 +01:00
Christian Jacobs
23b6557c54
Remove the "close" button in the log's tab.
2013-09-16 03:24:53 +01:00
Christian Jacobs
e3f81fbfda
Fixed a bug which occurred when searching for duplicate records in an empty log.
2013-09-16 03:17:37 +01:00
Christian Jacobs
9c09a728fc
Unit tests for the ADIF and Log classes.
2013-09-16 02:39:32 +01:00
Christian Jacobs
98dc386961
PyQSO is now feature complete. Moving from 0.1a.dev to 0.1a.
2013-09-15 15:02:39 +01:00
Christian Jacobs
e8c3ff3f00
Updated status bar text.
2013-09-15 04:43:03 +01:00
Christian Jacobs
f154f6406e
Some more error handling and debugging statements.
2013-09-15 04:29:44 +01:00
Christian Jacobs
f260462072
Added commit and rollback statements.
2013-09-15 02:49:12 +01:00
Christian Jacobs
3b12614cc3
More exception handling.
2013-09-15 01:10:13 +01:00
Christian Jacobs
fb884803e7
A few bug fixes.
2013-09-15 01:02:21 +01:00
Christian Jacobs
74fa770a05
Added a 'make unittest' command to the Makefile.
2013-09-15 00:21:58 +01:00
Christian Jacobs
42a849aa4c
Corrected a debugging statement.
2013-09-14 22:19:33 +01:00
Christian Jacobs
e8c1fafbcc
More debugging statements.
2013-09-14 22:12:10 +01:00
Christian Jacobs
45aee6bf74
More error handling.
2013-09-14 21:33:01 +01:00
Christian Jacobs
f3232ee5b2
Handle the ImportError if the non-standard Python modules needed by the GreyLine class are not present.
2013-09-14 21:10:52 +01:00
Christian Jacobs
f2e64dbd19
Wrap the import statements for the Hamlib module in a try-except block. Only try to call Hamlib if have_hamlib is True.
2013-09-14 20:31:12 +01:00
Christian Jacobs
ab4d7ce9c6
A few small improvements.
2013-09-14 20:15:12 +01:00
Christian Jacobs
d1e4c1471b
- Added open and close methods for the Logbook class.
...
- Added some more error handling for database-related statements.
2013-09-14 19:27:45 +01:00
Christian Jacobs
26b86d754c
Removed the 'delete log' button next to the log tabs, since it's unlikely the user will want to do this often.
2013-09-05 11:44:02 +01:00
Christian Jacobs
fa7788f49d
Changed ''' to """.
2013-09-04 21:12:04 +01:00
Christian Jacobs
bc4ae0e41a
Added more docstrings.
2013-09-04 21:03:48 +01:00
Christian Jacobs
927b41c3a7
- Added functionality to remove duplicate records in a log.
...
- Updated the manual.
2013-09-01 20:01:29 +01:00
Christian Jacobs
9511c40e21
Database updates can be expensive, so only update the field if the data has actually changed.
2013-08-15 22:33:59 +01:00
Christian Jacobs
660acb421b
Use .lower() for the band data.
2013-08-15 21:24:12 +01:00
Christian Jacobs
10d7d4e662
Added DXCC award tracking functionality.
2013-08-15 21:23:10 +01:00
Christian Jacobs
326aa513d9
Use the parent window in the Gtk.PrintOperation.run call.
2013-08-03 20:16:50 +01:00
Christian Jacobs
2f11f80221
- Added a module for creating auxiliary dialogs for error messages and prompts.
...
- Renamed 'root_window' to 'parent'.
2013-08-03 20:11:00 +01:00
Christian Jacobs
56c8e6e33f
Fixed an 'iter'-related bug - the correct iter is now used when editing or deleting records from the ListStore.
2013-08-03 19:00:39 +01:00
Christian Jacobs
80683bab07
- Added station-related fields to the records dialog.
...
- Fixed a case sensitivity-related bug in the callsign filter.
2013-07-28 16:50:52 +01:00
Christian Jacobs
b729ecdfbd
Added QSL_RCVD, QSL_SENT, and NOTES fields to the record dialog.
2013-07-28 16:01:04 +01:00
Christian Jacobs
18d3eeb708
The FREQ field can now be populated automatically by using Hamlib.
2013-07-27 19:22:54 +01:00
Christian Jacobs
cc58cd421c
- Decode from Base64 before sending data to the server.
...
- Resolved a few small callsign lookup bugs.
2013-07-17 16:40:21 +01:00
Christian Jacobs
ed5420252e
Add a VBox to the toolbox to accommodate awards-related widgets.
2013-07-15 01:56:54 +01:00
Christian Jacobs
8bceaf2cd2
Changed ADIF_VERSION to 1.0.
2013-07-14 16:57:44 +01:00
Christian Jacobs
57749656a8
Removed TODO statement.
2013-07-13 20:25:12 +01:00
Christian Jacobs
59f53981e8
Added callsign lookup functionality which uses the qrz.com database.
2013-07-13 20:23:53 +01:00
Christian Jacobs
b2affe2ecc
Don't add 1 to the month index here.
2013-07-13 16:52:48 +01:00
Christian Jacobs
a00bd7192a
- Finished log printing capability.
...
- Automatically fill in the date and time fields for new records.
2013-07-13 16:43:27 +01:00
Christian Jacobs
22460fff00
Added basic print functionality using the PrintOperation class.
2013-07-11 00:22:27 +01:00
Christian Jacobs
1e294c7e3a
Some more improvements to backwards compatibility.
2013-07-05 00:26:34 +01:00
Christian Jacobs
5314c59b17
add_missing_db_columns is probably a better name for this method.
2013-07-04 23:58:02 +01:00
Christian Jacobs
c6c0431617
Some more improvements to backwards compatibility.
2013-07-04 23:53:31 +01:00
Christian Jacobs
5cada62d02
- Improvements to backwards compatibility. PyQSO now adds a column with the field name to the database if it doesn't already exist. All entries are initially set to NULL. This prevents problems when the ListStore expects the column names to all be in AVAILABLE_FIELD_NAMES.
...
- Added a TODO file.
2013-07-04 23:04:31 +01:00
Christian Jacobs
1aaae548f1
- Refresh the grey line view every 30 minutes (if visible).
...
- Improved the layout of the Record dialog.
2013-07-03 11:48:51 +01:00
Christian Jacobs
ac3a543a83
- Added a calendar widget to the Record dialog.
...
- Added a frame to hold station information. Still need to add the other relevant fields.
2013-07-03 01:00:00 +01:00
Christian Jacobs
5ab8ff6352
The 'sys' module is no longer needed here.
2013-07-02 15:14:30 +01:00
Christian Jacobs
2922e75b34
Some additional error handling for the database connection setup.
2013-07-02 15:13:25 +01:00
Christian Jacobs
b40702c0bd
Fixed log deletion functionality.
2013-07-02 03:20:51 +01:00
Christian Jacobs
e151f0a23e
Users can now import into existing logs.
2013-07-02 02:47:21 +01:00
Christian Jacobs
df1fdcf781
Allow the user to select the field names that are visible in the logbook.
2013-07-01 23:23:43 +01:00
Christian Jacobs
6b1fdb644a
Inform the user about the Base64-encoded data.
2013-07-01 01:20:06 +01:00
Christian Jacobs
9c52981eb5
Hook-up the ConfigParser to the user preferences dialog.
2013-07-01 00:56:32 +01:00
Christian Jacobs
5d0132422d
- Added the instantiation of the ConfigParser class on application startup.
...
- Added some startup and qrz.com lookup options to the user preferences dialog.
2013-06-30 23:04:37 +01:00
Christian Jacobs
125f5f1e63
- Added a dialog for user preferences.
...
- Passed the parent window to the log name dialog.
2013-06-30 16:38:06 +01:00
Christian Jacobs
b680e4c955
- Default to 800 x 600 resolution.
...
- Check that a log is selected before attempting to export.
2013-06-30 14:38:08 +01:00
Christian Jacobs
534eec3f95
- Added the Toolbox class.
...
- PyQSO now only redraws the grey line when the Grey Line tab is clicked.
2013-06-30 03:25:27 +01:00
Christian Jacobs
dd45b74cc7
Reduce font size in grey line plot.
2013-06-30 02:59:16 +01:00
Christian Jacobs
dc2e7ffccd
Reduce the line thicknesses.
2013-06-30 02:51:52 +01:00
Christian Jacobs
0f242f3d20
- Added a frame to place amateur radio related tools.
...
- Added a grey line plot. Note that this requires an extra dependency (netcdf-python). Note also that the backend to matplotlib needs to be updated to work with PyGTK3.
2013-06-30 02:42:03 +01:00
Christian Jacobs
e9b73d6985
Check whether the Summary page is currently selected. If so, don't let the user delete or rename that page.
2013-06-23 23:07:46 +01:00
Christian Jacobs
523c233f03
Improved the modification date format.
2013-06-23 22:42:22 +01:00
Christian Jacobs
e79baec0bd
Forget the idea about selected field names for now. Just use all available ADIF fields instead.
2013-06-23 17:31:27 +01:00
Christian Jacobs
d587522327
- Check the validity of field data when importing logs in ADIF format.
...
- Make the BAND and MODE field data lower/upper case to ensure that the combo boxes are set correctly.
- If the user tries to overwrite a file when exporting a log, check that they are sure.
2013-06-16 02:09:53 +01:00
Christian Jacobs
ed35c00409
Remove the filter for .db files.
2013-06-15 22:18:10 +01:00
Christian Jacobs
b7342f4978
Added a method that finds the log_index from a log/page name.
2013-06-08 16:36:27 +01:00
Christian Jacobs
97322cb637
Remove padding.
2013-06-08 01:11:19 +01:00
Christian Jacobs
e1857e4489
Renamed switch_visible_callback to toggle_visible_callback.
2013-06-08 01:00:27 +01:00
Christian Jacobs
dd0084f206
- Allow auto-scrolling to the new text entry only if the focus is already at the very end of the Gtk.TextView.
...
- Remove the Unicode BEL character from the Telnet server response.
2013-06-08 00:54:53 +01:00
Christian Jacobs
721ddad46c
Moved the DX cluster to the main window.
2013-06-07 21:56:36 +01:00
Christian Jacobs
974b65a9ca
Updated a comment.
2013-05-19 23:02:24 +01:00
Christian Jacobs
6b2aefacf2
- Renamed the DATE and TIME fields to QSO_DATE and TIME_ON, respectively.
...
- Added icons to the menu items.
2013-05-19 21:11:23 +01:00
Christian Jacobs
d802f1868b
Now that a filter model is the child of the sort model, find the filter model's iter (instead of the sort model's iter) and pass it to convert_iter_to_child_iter.
2013-05-19 18:55:04 +01:00
Christian Jacobs
375539fbe2
Improved the layout of the "add/edit record" dialog.
2013-05-19 17:17:56 +01:00
Christian Jacobs
79e7916427
Also call the pop method for the filter list.
2013-05-19 17:05:17 +01:00
Christian Jacobs
220caf3c8a
Disable the filter source if not connected to a database.
2013-05-19 16:58:10 +01:00
Christian Jacobs
003c2b347c
Added filter (by callsign) functionality.
2013-05-19 16:51:47 +01:00
Christian Jacobs
7559ed7cee
Allow the user to enter a new log name when importing ADIF logs, rather than using the ADIF file name as the log name.
2013-05-16 21:47:17 +01:00
Christian Jacobs
27042d1b22
Added unit tests to check the 'edit record' and 'delete record' functionality.
2013-05-16 21:46:44 +01:00
Christian Jacobs
d3a18e77f3
Added a unit test to check the add_record functionality.
2013-05-13 12:08:39 +01:00
Christian Jacobs
27206117ad
Set up a unit test to check the reading of ADIF files.
2013-05-10 22:03:09 +01:00
Christian Jacobs
6636ab224a
- Logs can now be renamed.
...
- Bug fix: Records were not correctly being deleted or edited, because of the addition of the Gtk.TreeModelSort. Fixed by using the iter of the child object, not the new sorting object.
2013-05-10 14:05:33 +01:00
Christian Jacobs
6986764476
Bug fix: The log index is no longer determined from the tab's index in the Gtk.Notebook (which sometimes caused an index out of bounds error).
2013-05-09 11:29:55 +01:00
Christian Jacobs
4f75523805
Updated a comment.
2013-04-30 03:21:42 +01:00
Christian Jacobs
eeb801ff0e
Users can now sort the log (by a single column).
2013-04-30 03:17:40 +01:00
Christian Jacobs
7afbb2cdab
Set up check_io_event in the __init__ method.
2013-04-28 00:06:37 +01:00
Christian Jacobs
d68f6b6f18
Disable the connect button once connected.
2013-04-27 23:55:50 +01:00
Christian Jacobs
42097b5ca7
Added DX cluster functionality (using Telnet).
2013-04-27 23:23:19 +01:00
Christian Jacobs
c6bae0d81e
Moved the is_valid method to the ADIF class, since data is validated against ADIF field definitions.
2013-04-27 16:56:02 +01:00
Christian Jacobs
79687fb0d6
Fixed the ADIF import/export functionality.
2013-04-26 23:53:23 +01:00
Christian Jacobs
fc04f5d004
Enable the relevant menu items only when required.
2013-04-26 10:32:48 +01:00
Christian Jacobs
d107fb5485
Disable the record buttons if a log is not selected.
2013-04-26 10:10:05 +01:00
Christian Jacobs
69b7fcba8f
Removed import statement for the Record class (which no longer exists).
2013-04-22 20:39:33 +01:00
Christian Jacobs
604a4b1854
- Added SQL statements for adding, editing and deleting records.
...
- AUTOINCREMENT the primary key.
2013-04-22 14:37:21 +01:00
Christian Jacobs
aaf86720d2
Update logbook information on the Summary page every time the logbook is modified.
2013-04-22 00:15:07 +01:00
Christian Jacobs
1ab776226b
Left-aligned label text.
2013-04-21 17:47:09 +01:00
Christian Jacobs
e4af7bed2d
Added connect and disconnect buttons to the toolbar. Users can now select the .db file through the GUI.
2013-04-21 15:52:06 +01:00
Christian Jacobs
bc25b831b9
- Added a "Summary" page for the Logbook. This will eventually contain info such as Logbook name, number of log records, date created, date last modified, etc.
...
- logbook.py needs a tidy-up.
2013-04-17 00:51:28 +01:00
Christian Jacobs
d0246a3f2c
- Added a "+" ("New Log") tab, and a "Delete Log" button after each tab's title.
...
- Added a new dialog so the user can enter the new log's name.
2013-04-16 23:53:24 +01:00
Christian Jacobs
38a7c65e09
Update the status bar once connected to the database.
2013-04-15 02:49:16 +01:00
Christian Jacobs
d13dc12cb3
PyQSO now accepts the database file name as a command line argument, and tries to connect to the database on start-up.
2013-04-15 02:37:02 +01:00
Christian Jacobs
06c7f225ea
Removed the Record class. SQLite3 is now used to store the log records.
2013-04-14 15:50:50 +01:00
Christian Jacobs
c8a9b29f3e
Placing :memory: in quotes.
2013-04-14 15:35:17 +01:00
Christian Jacobs
2fb650f7ab
Added create and destroy methods for the SQL database connection.
2013-04-14 15:18:46 +01:00
Christian Jacobs
2b2faffaf1
When closing a modified log, ignore the * at the end of the log's name.
2013-03-31 03:52:38 +01:00
Christian Jacobs
097d2ac261
Pass in None as the parent window argument until a better way of handling this is found.
2013-03-31 02:18:46 +01:00
Christian Jacobs
1bd9f5d797
Only change the tab's label text if the record has been modified.
2013-03-31 02:10:02 +01:00
Christian Jacobs
47625d0f78
Set the ADIF version as a constant, defined in adif.py.
2013-03-30 21:49:20 +00:00
Christian Jacobs
75a7bcce09
Changed the version number to 0.1a.dev.
2013-03-30 21:38:11 +00:00
Christian Jacobs
2aa9c9ca25
Added __init__.py.
2013-03-30 20:56:34 +00:00
Christian Jacobs
8dd0aa8313
Placing pyqso.py in the 'bin' directory.
2013-03-30 20:51:04 +00:00
Christian Jacobs
e409cf7475
Renamed src/ to pyqso/
2013-03-30 20:50:20 +00:00