This commit is contained in:
Leeland Heins 2019-01-25 09:07:40 -06:00 committed by GitHub
parent 9df8ea81d8
commit f46ea157e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 302 additions and 27 deletions

38
FIXME Normal file
View File

@ -0,0 +1,38 @@
File Menu
---------
Reopen
Save changes
Close
Archive Info
Edit Menu
---------
Copy
Paste
Paste Special
Select All
Invert Selection
Actions Menu
------------
View
Recompress
Add Files
Open as disk image
Edit Comment
Edit Attributes
Rename Volume
Convert to disk image
Convert to archive file
Import file from WAV
Import BAS from Text
Tools Menu
----------
Help Menu
---------
Contents
Visit web site

50
Makefile.new Normal file
View File

@ -0,0 +1,50 @@
#
# Makefile for cavaldos. Pretty lame, needs to be improved.
#
NAME=calvados
CFLAGS=-g -Wall
GTKFLAGS=`pkg-config --cflags --libs gtk+-2.0`
LFLAGS=
LIBS=-l libgdk
SRCS=calvados.c select_volume.c closing_dialog.c close_dialog.c show_about.c \
disk_sector_viewer_popup.c create_disk_image.c new_archive.c \
open_file.c okfunc_create_disk_image.c okfunc_select_volume.c \
help_func_create_disk_image.c help_func_select_volume.c \
do_open_file.c save_to_file.c preferences.c print.c add_files.c \
do_new_archive.c create_radio.c acceptfunc_add_files.c \
help_func_add_files.c extract_files.c extractfunc_extract_files.c \
help_func_extract_files.c disk_image_converter.c do_image_converter.c \
do_add_files.c archive_info.c edit_comment.c new_disk_image.c \
help_func_archive_info.c delete_file.c rename.c select_image_convert.c \
select_first_sst_image.c recompress_files.c show_error.c file_viewer.c \
donefunc_file_viewer.c help_func_file_viewer.c add_disk_image.c test.c \
findfunc_file_viewer.c
OBJS=$(SRCS:.c=.o)
HEADERS=calvados.h
CC=gcc
DESTDIR=/usr/local
IMGDIR=images
RM=/bin/rm
INSTALL=/usr/bin/install
INCLUDES=-I/usr/include/glib-2.0/ \
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ \
-I/usr/include/pango-1.0/ -I/usr/include/cairo/ \
-I/usr/include/gdk/ -I/usr/include/gdk-pixbuf-2.0/ \
-I/usr/include/atk-1.0/ -I/usr/include/gtk-unix-print-2.0/
all: $(NAME)
$(NAME): $(OBJS)
$(CC) $(CFLAGS) -o $(NAME) $(OBJS) $(LFLAGS) $(LIBS) $(GTKFLAGS)
.c.o:
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
install:
$(INSTALL) $(NAME) $(DESTDIR)/bin
$(INSTALL) -D $(IMGDIR) $(DESTDIR)/$(IMGDIR)
clean:
$(RM) -f $(NAME) *.o *~

43
Makefile.orig Normal file
View File

@ -0,0 +1,43 @@
#
# Makefile for cavaldos. Pretty lame, needs to be improved.
#
NAME=calvados
CFLAGS=-g -Wall -o $(NAME)
#GTKFLAGS=-export-dynamic `pkg-config --cflags --libs gtk+-2.0`
GTKFLAGS=`pkg-config --cflags --libs gtk+-2.0`
SRCS=calvados.c select_volume.c closing_dialog.c close_dialog.c show_about.c \
disk_sector_viewer_popup.c create_disk_image.c new_archive.c \
open_file.c okfunc_create_disk_image.c okfunc_select_volume.c \
help_func_create_disk_image.c help_func_select_volume.c \
do_open_file.c save_to_file.c preferences.c print.c add_files.c \
do_new_archive.c create_radio.c acceptfunc_add_files.c \
help_func_add_files.c extract_files.c extractfunc_extract_files.c \
help_func_extract_files.c disk_image_converter.c do_image_converter.c \
do_add_files.c archive_info.c edit_comment.c new_disk_image.c \
help_func_archive_info.c delete_file.c rename.c select_image_convert.c \
select_first_sst_image.c recompress_files.c show_error.c file_viewer.c \
donefunc_file_viewer.c help_func_file_viewer.c add_disk_image.c test.c \
findfunc_file_viewer.c
OBJS=$(SRCS:.c=.o)
HEADERS=calvados.h
CC=gcc
DESTDIR=/usr/local
INCLUDES=-I/usr/include/glib-2.0/ \
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ \
-I/usr/include/pango-1.0/ -I/usr/include/cairo/ \
-I/usr/include/gdk-pixbuf-2.0/ -I/usr/include/atk-1.0/ \
-I/usr/include/gtk-unix-print-2.0/
all: calvados
calvados: $(SRCS) $(HEADERS)
$(CC) $(CFLAGS) $(SRCS) $(GTKFLAGS) $(INCLUDES)
install:
/usr/bin/install $(NAME) $(DESTDIR)/bin
/usr/bin/install -D images $(DESTDIR)/images
clean:
/bin/rm -f $(NAME)

43
Makefile.save Normal file
View File

@ -0,0 +1,43 @@
#
# Makefile for cavaldos. Pretty lame, needs to be improved.
#
NAME=calvados
CFLAGS=-g -Wall -o $(NAME)
#GTKFLAGS=-export-dynamic `pkg-config --cflags --libs gtk+-2.0`
GTKFLAGS=`pkg-config --cflags --libs gtk+-2.0`
SRCS=calvados.c select_volume.c closing_dialog.c close_dialog.c show_about.c \
disk_sector_viewer_popup.c create_disk_image.c new_archive.c \
open_file.c okfunc_create_disk_image.c okfunc_select_volume.c \
help_func_create_disk_image.c help_func_select_volume.c \
do_open_file.c save_to_file.c preferences.c print.c add_files.c \
do_new_archive.c create_radio.c acceptfunc_add_files.c \
help_func_add_files.c extract_files.c extractfunc_extract_files.c \
help_func_extract_files.c disk_image_converter.c do_image_converter.c \
do_add_files.c archive_info.c edit_comment.c new_disk_image.c \
help_func_archive_info.c delete_file.c rename.c select_image_convert.c \
select_first_sst_image.c recompress_files.c show_error.c file_viewer.c \
donefunc_file_viewer.c help_func_file_viewer.c add_disk_image.c test.c \
findfunc_file_viewer.c
OBJS=$(SRCS:.c=.o)
HEADERS=calvados.h
CC=gcc
DESTDIR=/usr/local
INCLUDES=-I/usr/include/glib-2.0/ \
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ \
-I/usr/include/pango-1.0/ -I/usr/include/cairo/ \
-I/usr/include/gdk-pixbuf-2.0/ -I/usr/include/atk-1.0/ \
-I/usr/include/gtk-unix-print-2.0/
all: calvados
calvados: $(SRCS) $(HEADERS)
$(CC) $(CFLAGS) $(SRCS) $(GTKFLAGS) $(INCLUDES)
install:
/usr/bin/install $(NAME) $(DESTDIR)/bin
/usr/bin/install -D images $(DESTDIR)/images
clean:
/bin/rm -f $(NAME)

55
Makefile.test Normal file
View File

@ -0,0 +1,55 @@
#
# Makefile for cavaldos. Pretty lame, needs to be improved.
#
NAME=calvados
CFLAGS=-g -Wall -o $(NAME)
#GTKFLAGS=-export-dynamic `pkg-config --cflags --libs gtk+-2.0`
GTKFLAGS=`pkg-config --cflags --libs gtk+-2.0`
SRCS=calvados.c select_volume.c closing_dialog.c close_dialog.c show_about.c \
disk_sector_viewer_popup.c create_disk_image.c new_archive.c \
open_file.c okfunc_create_disk_image.c okfunc_select_volume.c \
help_func_create_disk_image.c help_func_select_volume.c \
do_open_file.c save_to_file.c preferences.c print.c add_files.c \
do_new_archive.c create_radio.c acceptfunc_add_files.c \
help_func_add_files.c extract_files.c extractfunc_extract_files.c \
help_func_extract_files.c disk_image_converter.c do_image_converter.c \
do_add_files.c archive_info.c edit_comment.c help_func_archive_info.c \
delete_file.c rename.c select_image_convert.c select_first_sst_image.c \
recompress_files.c show_error.c file_viewer.c donefunc_file_viewer.c \
help_func_file_viewer.c add_disk_image.c test.c findfunc_file_viewer.c \
bulk_disk_image_converter.c close.c save_changes.c reopen.c copy.c paste.c \
paste_special.c find.c select_all.c invert_selection.c create_subdirectory.c \
open_as_disk_image.c edit_attributes.c rename_volume.c convert_to_disk_image.c \
convert_to_archive_file.c import_file_from_wav.c import_bas_from_text.c \
contents.c visit_website.c volume_copier_open_volume.c volume_copier_open_file.c \
twomg_properties_editor.c eol_scanner.c do_eol_scan.c do_2mg_edit.c \
do_volume_copier_open_file.c okfunc_volume_copier_open_volume.c \
help_func_volume_copier_open_volume.c do_bulk_disk_converter.c
OBJS=$(SRCS:.c=.o)
HEADERS=calvados.h
CC=gcc
LD=gcc
DESTDIR=/usr/local
INCLUDES=-I/usr/include/glib-2.0/ \
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ \
-I/usr/include/pango-1.0/ -I/usr/include/cairo/ \
-I/usr/include/gdk-pixbuf-2.0/ -I/usr/include/atk-1.0/ \
-I/usr/include/gtk-unix-print-2.0/
%.o: %.c
$(CC) $(CFLAGS) $(GTKFLAGS) $(INCLUDES) -o $@ -c $<
all: $(OBJS)
$(LD) -o $(TARGET) $(OBJS) $(LDFLAGS) $(GTKFLAGS)
#calvados: $(SRCS) $(HEADERS)
# $(CC) $(CFLAGS) $(SRCS) $(GTKFLAGS) $(INCLUDES)
install:
/usr/bin/install $(NAME) $(DESTDIR)/bin
/usr/bin/install -D images $(DESTDIR)/images
clean:
/bin/rm -f $(NAME)

View File

@ -13,6 +13,14 @@ GtkWidget *hfsVolumeEntry;
GtkWidget *blocksEntry;
GtkWidget *blocksLabel;
GtkWidget *s140kRb;
GtkWidget *s800kRb;
GtkWidget *s14MRb;
GtkWidget *s5MBRb;
GtkWidget *s16MBRb;
GtkWidget *s20MBRb;
GtkWidget *s32MBRb;
/*
*
* Grey out radio buttons, checkboxes and entries as appropriate
@ -103,13 +111,13 @@ void create_disk_image()
GtkWidget *hfsRb;
GtkWidget *blankRb;
GSList *filesystemRbGroup = NULL;
GtkWidget *s140kRb;
/*GtkWidget *s140kRb;
GtkWidget *s800kRb;
GtkWidget *s14MRb;
GtkWidget *s5MBRb;
GtkWidget *s16MBRb;
GtkWidget *s20MBRb;
GtkWidget *s32MBRb;
GtkWidget *s32MBRb;*/
GtkWidget *specifyHbox;
GtkWidget *specifyRb;
GSList *newDiskSizeRbGroup = NULL;

View File

@ -19,6 +19,6 @@ void do_open_file(char *filename)
g_print("Open file function goes here.\n");
g_print("filename=%s\n", filename);
strcpy(open_file_ptr, filename);
strncpy(open_file_ptr, filename, 255);
}

View File

@ -3,6 +3,14 @@
#include "calvados.h"
extern GtkWidget *s140kRb;
extern GtkWidget *s800kRb;
extern GtkWidget *s14MRb;
extern GtkWidget *s5MBRb;
extern GtkWidget *s16MBRb;
extern GtkWidget *s20MBRb;
extern GtkWidget *s32MBRb;
/*
*
* okfunc_create_disk_image()
@ -17,6 +25,13 @@ void okfunc_create_disk_image(GtkWidget *widget, gpointer data)
/* --- Display message --- */
g_print("Create function goes here.\n");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(s140kRb)) == TRUE) {
g_print("140k\n");
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(s800kRb)) == TRUE) {
g_print("800k\n");
}
/* --- Close it. --- */
gtk_widget_destroy(GTK_WIDGET(data));
}

View File

@ -245,21 +245,30 @@ void preferences()
GtkWidget *viewerFileSizeSpinner;
GtkWidget *kBytesLabel;
GtkWidget *conversionOptionsVbox;
GSList *compressionRbGroup = NULL;
GtkWidget *defaultCompressionMethodLabel;
GtkWidget *noCompressionCb;
GtkWidget *squeezeCb;
/*GtkWidget *noCompressionCb;*/
GtkWidget *noCompressionRb;
/*GtkWidget *squeezeCb;*/
GtkWidget *squeezeRb;
GtkWidget *squeezeLabel;
GtkWidget *dynamicLZW1Cb;
/*GtkWidget *dynamicLZW1Cb;*/
GtkWidget *dynamicLZW1Rb;
GtkWidget *dynamicLZW1Label;
GtkWidget *dynamicLZW2Cb;
/*GtkWidget *dynamicLZW2Cb;*/
GtkWidget *dynamicLZW2Rb;
GtkWidget *dynamicLZW2Label;
GtkWidget *twelveBitLZCCb;
/*GtkWidget *twelveBitLZCCb;*/
GtkWidget *twelveBitLZCRb;
GtkWidget *twelveBitLZCLabel;
GtkWidget *sixteenBitLZCCb;
/*GtkWidget *sixteenBitLZCCb;*/
GtkWidget *sixteenBitLZCRb;
GtkWidget *sixteenBitLZCLabel;
GtkWidget *deflateCb;
/*GtkWidget *deflateCb;*/
GtkWidget *deflateRb;
GtkWidget *deflateLabel;
GtkWidget *bzip2Cb;
/*GtkWidget *bzip2Cb;*/
GtkWidget *bzip2Rb;
GtkWidget *bzip2Label;
GtkWidget *filesVbox;
GtkWidget *folderForTemporaryFilesHbox;
@ -757,61 +766,70 @@ void preferences()
gtk_widget_show(defaultCompressionMethodLabel);
gtk_box_pack_start(GTK_BOX(compressionVbox), defaultCompressionMethodLabel, TRUE, TRUE, 0);
noCompressionCb = gtk_check_button_new_with_label("No compression");
/* FIXME -- needs to be radio button */
/*noCompressionCb = gtk_check_button_new_with_label("No compression");
gtk_box_pack_start(GTK_BOX(compressionVbox), noCompressionCb, TRUE, TRUE, 0);
gtk_widget_show(noCompressionCb);
gtk_widget_show(noCompressionCb);*/
noCompressionRb = create_radio(compressionVbox, &compressionRbGroup, "No compression");
squeezeCb = gtk_check_button_new_with_label("Squeeze");
/*squeezeCb = gtk_check_button_new_with_label("Squeeze");
gtk_box_pack_start(GTK_BOX(compressionVbox), squeezeCb, TRUE, TRUE, 0);
gtk_widget_show(squeezeCb);
gtk_widget_show(squeezeCb);*/
squeezeRb = create_radio(compressionVbox, &compressionRbGroup, "Squeeze");
squeezeLabel = gtk_label_new("Uses a combination of RLE and Huffman.\rNot compatible with ProDOS 8 ShrinkIt.");
gtk_box_pack_start(GTK_BOX(compressionVbox), squeezeLabel, TRUE, TRUE, 0);
gtk_widget_show(squeezeLabel);
dynamicLZW1Cb = gtk_check_button_new_with_label("Dynamic LZW/1");
/*dynamicLZW1Cb = gtk_check_button_new_with_label("Dynamic LZW/1");
gtk_box_pack_start(GTK_BOX(compressionVbox), dynamicLZW1Cb, TRUE, TRUE, 0);
gtk_widget_show(dynamicLZW1Cb);
gtk_widget_show(dynamicLZW1Cb);*/
dynamicLZW1Rb = create_radio(compressionVbox, &compressionRbGroup, "Dynamic LZW/1");
dynamicLZW1Label = gtk_label_new("The compression method used by ProDOS 8 ShrinkIt.");
gtk_box_pack_start(GTK_BOX(compressionVbox), dynamicLZW1Label, TRUE, TRUE, 0);
gtk_widget_show(dynamicLZW1Label);
dynamicLZW2Cb = gtk_check_button_new_with_label("Dynamic LZW/2 (recommended)");
/*dynamicLZW2Cb = gtk_check_button_new_with_label("Dynamic LZW/2 (recommended)");
gtk_box_pack_start(GTK_BOX(compressionVbox), dynamicLZW2Cb, TRUE, TRUE, 0);
gtk_widget_show(dynamicLZW2Cb);
gtk_widget_show(dynamicLZW2Cb);*/
dynamicLZW2Rb = create_radio(compressionVbox, &compressionRbGroup, "Dynamic LZW/2 (recommended)");
dynamicLZW2Label = gtk_label_new("The compression method used by GS/ShrinkIt");
gtk_box_pack_start(GTK_BOX(compressionVbox), dynamicLZW2Label, TRUE, TRUE, 0);
gtk_widget_show(dynamicLZW2Label);
twelveBitLZCCb = gtk_check_button_new_with_label("12-bit LZC");
/*twelveBitLZCCb = gtk_check_button_new_with_label("12-bit LZC");
gtk_box_pack_start(GTK_BOX(compressionVbox), twelveBitLZCCb, TRUE, TRUE, 0);
gtk_widget_show(twelveBitLZCCb);
gtk_widget_show(twelveBitLZCCb);*/
twelveBitLZCRb = create_radio(compressionVbox, &compressionRbGroup, "12-bit LZC");
twelveBitLZCLabel = gtk_label_new("Compression used by UNIX \"compress\" command.\rNot compatible with ProDOS 8 ShrinkIt.");
gtk_box_pack_start(GTK_BOX(compressionVbox), twelveBitLZCLabel, TRUE, TRUE, 0);
gtk_widget_show(twelveBitLZCLabel);
sixteenBitLZCCb = gtk_check_button_new_with_label("16-bit LZC");
/*sixteenBitLZCCb = gtk_check_button_new_with_label("16-bit LZC");
gtk_box_pack_start(GTK_BOX(compressionVbox), sixteenBitLZCCb, TRUE, TRUE, 0);
gtk_widget_show(sixteenBitLZCCb);
gtk_widget_show(sixteenBitLZCCb);*/
sixteenBitLZCRb = create_radio(compressionVbox, &compressionRbGroup, "16-bit LZC");
sixteenBitLZCLabel = gtk_label_new("Compression used by UNIX \"compress\" command.\rNot compatible with ProDOS 8 ShrinkIt.");
gtk_box_pack_start(GTK_BOX(compressionVbox), sixteenBitLZCLabel, TRUE, TRUE, 0);
gtk_widget_show(sixteenBitLZCLabel);
deflateCb = gtk_check_button_new_with_label("deflate");
/*deflateCb = gtk_check_button_new_with_label("deflate");
gtk_box_pack_start(GTK_BOX(compressionVbox), deflateCb, TRUE, TRUE, 0);
gtk_widget_show(deflateCb);
gtk_widget_show(deflateCb);*/
deflateRb = create_radio(compressionVbox, &compressionRbGroup, "deflate");
deflateLabel = gtk_label_new("Uses a combination of RLE and Huffman.\rNot compatible with ProDOS 8 ShrinkIt.");
gtk_box_pack_start(GTK_BOX(compressionVbox), deflateLabel, TRUE, TRUE, 0);
gtk_widget_show(deflateLabel);
bzip2Cb = gtk_check_button_new_with_label("Bzip2");
/*bzip2Cb = gtk_check_button_new_with_label("Bzip2");
gtk_box_pack_start(GTK_BOX(compressionVbox), bzip2Cb, TRUE, TRUE, 0);
gtk_widget_show(bzip2Cb);
gtk_widget_show(bzip2Cb);*/
bzip2Rb = create_radio(compressionVbox, &compressionRbGroup, "Bzip2");
bzip2Label = gtk_label_new("Compression used by bzip2.\rNot compatible with any Apple II applications.");
gtk_box_pack_start(GTK_BOX(compressionVbox), bzip2Label, TRUE, TRUE, 0);

View File

@ -16,6 +16,7 @@ void volume_copier_open_file(GtkWidget *widget, gpointer data)
gint res;
GtkFileFilter *diskImagesFilt;
GtkFileFilter *allFilesFilt;
GtkWidget *openAsReadOnlyCb;
/* --- Display message --- */
/*g_print("volume_copier_open_file function goes here.\n");*/
@ -59,6 +60,10 @@ void volume_copier_open_file(GtkWidget *widget, gpointer data)
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), diskImagesFilt);
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), allFilesFilt);
openAsReadOnlyCb = gtk_check_button_new_with_label("Open as read-only");
gtk_box_pack_end(GTK_BOX(GTK_DIALOG(dialog)->action_area), openAsReadOnlyCb, TRUE, TRUE, 0);
gtk_widget_show(openAsReadOnlyCb);
res = gtk_dialog_run(GTK_DIALOG(dialog));
if (res == GTK_RESPONSE_ACCEPT) {
char *filename;